取得Serial Port 裝置名稱

摘要:取得Serial Port 裝置名稱

小弟前幾天遇到一個鳥問題[真的很鳥] = =a

遇到明明裝置管理員只有一個COM Port

利用My.Computer.Ports.SerialPortNames竟然取得3~4個

某幾個還可以正常OPEN但是一傳送Data馬上錯誤而且當機

經過"小歐"大大的開導

利用從登錄檔 HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM 取得硬體名稱

程式碼如下

 

Imports Microsoft.Win32

        Dim myRegistry As RegistryKey = Registry.LocalMachine.OpenSubKey("Hardware\DeviceMap\SerialComm")
        For Each valuename As String In myRegistry.GetValueNames()
            If TypeOf myRegistry.GetValue(valuename) Is [String] Then
                If valuename.Contains("HardWareName") Then
                     xx = myRegistry.GetValue(valuename)'<==取得該名稱的COM PORT代碼
                End If
            End If
        Next

HardWareName<==這個就是你的硬體名稱

依照硬體不同

不過似乎大部分都是 一個代碼加上流水號

這樣就可以快速取得自己家的裝置

不然使用者給你亂換位置

每次啟動去搜尋COM PORT 都要搞很久

新手新手

我是新手