Hallo,
Ich will mein COM5 auslesen Name und SN.
Damit will ich erreichen, dass wenn COM5 name = "USB to RS232" und SN = "1234567" hatt ein Testprogramm startet.
Ich habe schon ein Code gefunden womit ich aber nur denn COM1 auslesen kann habe ihn auch schon paar mal umgeschrieben komme aber nicht auf dem COM5.
An mein COM5 ist ein USB-RS232 adapter angeschlossen.
Ich will mein COM5 auslesen Name und SN.
Damit will ich erreichen, dass wenn COM5 name = "USB to RS232" und SN = "1234567" hatt ein Testprogramm startet.
Ich habe schon ein Code gefunden womit ich aber nur denn COM1 auslesen kann habe ihn auch schon paar mal umgeschrieben komme aber nicht auf dem COM5.
An mein COM5 ist ein USB-RS232 adapter angeschlossen.
VB.NET-Quellcode
- Imports System.Management
- Public Function GetSerial()
- Dim queryA As String = "Select * from Win32_SerialPort"
- Dim pd As PropertyData
- Dim Device_Name As String = "Device-Name"
- 'Im Beispiel hier müsste dann folgendes da stehen:
- 'Dim Device_Name As String = "CP210x USB to UART Bridge Controller"
- Dim Found_Device As Boolean = False
- Dim Port As String = ""
- Dim mos As ManagementObjectSearcher = New ManagementObjectSearcher(queryA)
- Dim moc As ManagementObjectCollection = mos.Get()
- For Each mo As ManagementObject In moc
- For Each pd In mo.Properties
- On Error Resume Next
- If pd.Name.ToString() = "Description" Then
- If pd.Value.ToString() = Device_Name Then
- Found_Device = True
- Else
- Found_Device = False
- End If
- End If
- If Found_Device = True And pd.Name.ToString() = "DeviceID" Then
- Port = pd.Value.ToString()
- mos.Dispose()
- moc.Dispose()
- GC.Collect()
- Return Port
- End If
- Next
- Next
- mos.Dispose()
- moc.Dispose()
- GC.Collect()
- Return "Device Not Found"
- End Function