Advertisement
Guest User

Untitled

a guest
Jul 10th, 2013
468
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 1.09 KB | None | 0 0
  1. Private Function ComPortNames(VID As String, PID As String) As List(Of String)
  2.         Dim pattern As String = [String].Format("^VID_{0}.PID_{1}", VID, PID)
  3.         Dim _rx As New Regex(pattern, RegexOptions.IgnoreCase)
  4.         Dim comports As New List(Of String)()
  5.         Dim rk1 As RegistryKey = Registry.LocalMachine
  6.         Dim rk2 As RegistryKey = rk1.OpenSubKey("SYSTEM\CurrentControlSet\Enum")
  7.         For Each s3 As String In rk2.GetSubKeyNames()
  8.             Dim rk3 As RegistryKey = rk2.OpenSubKey(s3)
  9.             For Each s As String In rk3.GetSubKeyNames()
  10.                 If _rx.Match(s).Success Then
  11.                     Dim rk4 As RegistryKey = rk3.OpenSubKey(s)
  12.                     For Each s2 As String In rk4.GetSubKeyNames()
  13.                         Dim rk5 As RegistryKey = rk4.OpenSubKey(s2)
  14.                         Dim rk6 As RegistryKey = rk5.OpenSubKey("Device Parameters")
  15.                         comports.Add(DirectCast(rk6.GetValue("PortName"), String))
  16.                     Next
  17.                 End If
  18.             Next
  19.         Next
  20.         Return comports
  21.     End Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement