carcon999のブログ

12年間Y!ブログの記載を移行しました。電子工作関連の記事が多いです。

COMポートの一覧取得の概要

シリアルポートを利用するアプリケーションを開発すると、COMポートの番号をユーザに選択させる場合があります。Windowsでは、COM1~COM255まで指定することが可能だったと思います。
そんなときに、利用可能なCOMポートの一覧を取得できれば・・・と考えるのは自然な流れだと思います。ユーザの誤選択防止にもなります。

そこで役立つのが、レジストリから利用可能なCOMポートの一覧を取得する方法です。
例えば、Device ManagerにこのようなCOMポートで見えている状況です。
イメージ 1

COM4,COM7にUSB-シリアル変換ケーブルにより現れたCOMポートが見えています。
レジストリ("HKEY_LOCAL_MACHINE\\HARDWARE\\DEVICEMAP\\SERIALCOMM")には次のように見えます。
イメージ 2

よって、"HKEY_LOCAL_MACHINE\\HARDWARE\\DEVICEMAP\\SERIALCOMM"に含まれるKeyの一覧を取得し、その一覧の中に、"Device"が含まれるものがCOMポート番号のようです。(残念ながらWinachsf0は、何者か分かりません。)

具体的な取り出し方は、後日ということで。(覚書です。)