Windows が USB 仮想 COM ポートにマップする COM ポート番号を変更する方法を知っている人はいますか? これは、デバイス マネージャーで [詳細設定] ボタンをクリックして変更できます。しかし、API、レジストリの変更、またはコマンド ライン操作を使用してこれを行うにはどうすればよいでしょうか?
アイデアはありますか?
Windows が USB 仮想 COM ポートにマップする COM ポート番号を変更する方法を知っている人はいますか? これは、デバイス マネージャーで [詳細設定] ボタンをクリックして変更できます。しかし、API、レジストリの変更、またはコマンド ライン操作を使用してこれを行うにはどうすればよいでしょうか?
アイデアはありますか?
COM ポート 1 を 110 に変更する際のレジストリの変更を監視したところ、次のキーに変更が見つかりました。
[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM] "\Device\Serial0"="COM110"
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\COM Name Arbiter] "ComDB"=hex(3):FC,7F,00,00,00,00,00,00,00,00,00,00,00,20, 00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\ACPI\PNP0501\1\Device Parameters] "PortName"="COM110"
この回答が役立つ場合があります。
Windows で COM ポートのフレンドリ名を取得するにはどうすればよいですか?
それはフレンドリ名を見つけることですが、正しいキーを見つけるための「公式」メカニズムを使用して、レジストリの正しい領域を指すことがわかると思います。
ただし、ポートの割り当てを変更する場合は、COM ポート データベースも更新する必要があります 。https ://msdn.microsoft.com/en-us/library/ff546481.aspx を参照してください。
同様のことをしなければならなかったとき、リンクされた SO 記事に記載されているメカニズムを使用して適切なデバイスを見つけ、SerialDisplayAdvancedSettings((HWND)NULL, hDeviceInfo, &devInfoData); を呼び出しました。高度なダイアログを表示し、OS にハードワークを処理させます。
最近では、奇妙な「本物ではない」シリアル ポート (USB ポートなど) に遭遇する可能性がますます高くなり、注意が必要な他の非互換性もある可能性があります。
オフハンド、私はそれを行う方法がわかりませんが、これが私がすることです:
マイ コンピューター/デバイス マネージャーの方法を使用して、61 などのありそうもない com ポートを割り当てます。次に、regedit を使用して COM61 を検索し、デバイス マネージャーの動作を確認します。
これらすべてをどこかのレジストリで見たことがあることは知っていますが、ナレッジ ベースをすばやく検索しても答えが見つかりませんでした。