摘要:取得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 都要搞很久
新手新手
我是新手