VB.net: Zwei Funktionen in einem Projekt

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Karlheinz.

    VB.net: Zwei Funktionen in einem Projekt

    Servus,

    ich habe zwei Funktionen, welche jede für sich einwandfrei funktioniert, jedoch bringe ich sie einfach nicht zusammen.
    Seit 3 Tage durchforste ich das Internet und finde keine Lösung

    VB.NET-Quellcode

    1. Private Function SystemSerialNumber() As String
    2. ' Get the Windows Management Instrumentation object.
    3. Dim wmi As Object = GetObject("WinMgmts:")
    4. Dim serial_numbers As String = ""
    5. Dim mother_boards As Object = wmi.InstancesOf("Win32_BIOS")
    6. For Each board As Object In mother_boards
    7. serial_numbers &= ", " & board.SerialNumber
    8. Next board
    9. If serial_numbers.Length > 0 Then serial_numbers = serial_numbers.Substring(2)
    10. Return serial_numbers
    11. End Function


    Funktioniert einwandfrei

    VB.NET-Quellcode

    1. Private Function Get_MACAddress() As String
    2. Dim mc As System.Management.ManagementClass
    3. Dim mo As ManagementObject
    4. Dim mac As String = String.Empty
    5. mc = New ManagementClass("Win32_NetworkAdapterConfiguration")
    6. Dim moc As ManagementObjectCollection = mc.GetInstances()
    7. For Each mo In moc
    8. If CBool(mo.Item("IPEnabled")) = True Then
    9. mac = mo.Item("MacAddress").ToString()
    10. End If
    11. Next
    12. Return mac
    13. End Function


    Funktioniert ebenfalls einwandfrei, wie bekomme ich sie jedoch zusammen in einem Projekt ans Laufen?

    Danke und Gruß
    Karlheinz
    Willkommen im Forum. :thumbup:

    Karlheinz schrieb:

    zusammen in einem Projekt
    Hast Du es schon probiert?
    Fehlermeldung?
    Code-Zeile?
    ---
    Oder:
    Füge den Aufruf dahin, wo er gebraucht wird.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hallo,
    ich habe zwar dafür keine Lösung, aber wie es aussieht, möchtest du eine eindeutige ID zum Computer ermitteln
    Falls ja.. hast du dir dies schon mal angeschaut?

    VB.NET-Quellcode

    1. Dim uniq As String
    2. Uniq = System.Security.Principal.WindowsIdentity.GetCurrent.User.Value


    falls nicht, einfach ignorieren :P

    VB.NET-Quellcode

    1. ​Imports System.Management
    2. Public Class Form1
    3. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. lblSystemSerialNumbers.Text = SystemSerialNumber()
    5. Tmacaddress.Text = Get_MACAddress()
    6. End Sub
    7. Private Function SystemSerialNumber() As String
    8. ' Get the Windows Management Instrumentation object.
    9. Dim wmi As Object = GetObject("WinMgmts:")
    10. Dim serial_numbers As String = ""
    11. Dim mother_boards As Object = wmi.InstancesOf("Win32_BIOS")
    12. For Each board As Object In mother_boards
    13. serial_numbers &= ", " & board.SerialNumber
    14. Next board
    15. If serial_numbers.Length > 0 Then serial_numbers = serial_numbers.Substring(2)
    16. Return serial_numbers
    17. End Function
    18. Private Function Get_MACAddress() As String
    19. Dim mc As System.Management.ManagementClass
    20. Dim mo As ManagementObject
    21. Dim mac As String = String.Empty
    22. mc = New ManagementClass("Win32_NetworkAdapterConfiguration")
    23. Dim moc As ManagementObjectCollection = mc.GetInstances()
    24. For Each mo In moc
    25. If CBool(mo.Item("IPEnabled")) = True Then
    26. mac = mo.Item("MacAddress").ToString()
    27. End If
    28. Next
    29. Return mac
    30. End Function
    31. End Class


    So habe ich es versucht. Bin natürlich Anfänger und gut möglich, bzw. wahrscheinlich, dass da auch so gar nicht funktionieren kann.