Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Private Function ComPortNames(VID As String, PID As String) As List(Of String)
- Dim pattern As String = [String].Format("^VID_{0}.PID_{1}", VID, PID)
- Dim _rx As New Regex(pattern, RegexOptions.IgnoreCase)
- Dim comports As New List(Of String)()
- Dim rk1 As RegistryKey = Registry.LocalMachine
- Dim rk2 As RegistryKey = rk1.OpenSubKey("SYSTEM\CurrentControlSet\Enum")
- For Each s3 As String In rk2.GetSubKeyNames()
- Dim rk3 As RegistryKey = rk2.OpenSubKey(s3)
- For Each s As String In rk3.GetSubKeyNames()
- If _rx.Match(s).Success Then
- Dim rk4 As RegistryKey = rk3.OpenSubKey(s)
- For Each s2 As String In rk4.GetSubKeyNames()
- Dim rk5 As RegistryKey = rk4.OpenSubKey(s2)
- Dim rk6 As RegistryKey = rk5.OpenSubKey("Device Parameters")
- comports.Add(DirectCast(rk6.GetValue("PortName"), String))
- Next
- End If
- Next
- Next
- Return comports
- End Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement