有誰知道如何更改Windows映射到USB虛擬COM端口的COM端口號?你可以通過設備管理器改變它,然後點擊高級按鈕..但是你怎麼能通過API,註冊表變更或者命令行操作來實現呢?通過註冊表,命令行或軟件更改COM端口?
有什麼想法嗎?
有誰知道如何更改Windows映射到USB虛擬COM端口的COM端口號?你可以通過設備管理器改變它,然後點擊高級按鈕..但是你怎麼能通過API,註冊表變更或者命令行操作來實現呢?通過註冊表,命令行或軟件更改COM端口?
有什麼想法嗎?
您可能會發現這個答案有用:
How do I get the friendly name of a COM port in Windows?
這是尋找友好的名字,但我想你會發現它指向你對註冊表的右側區域,使用「官方」尋找正確密鑰的機制。
但是,如果更改端口分配,你也應該更新的COM端口數據庫 - 見:https://msdn.microsoft.com/en-us/library/ff546481.aspx
當我不得不做類似的事情,我找到了正確的設備使用的連接,從而描述的機制文章,然後調用SerialDisplayAdvancedSettings((HWND)NULL,hDeviceInfo,& devInfoData);顯示高級對話框並讓操作系統處理艱苦的工作。
如今,您越來越可能遇到可能存在其他不兼容問題的奇怪「非真實」串行端口(例如USB端口),因此您需要謹慎。
隨口說說,我不知道如何做到這一點,但這裏是我會做什麼:
使用我的電腦/設備管理器的方法來分配一些不可能的COM端口,如61,然後使用註冊表編輯器來搜索爲COM61,看看設備管理器做了什麼。
我知道我已經在註冊表的某處看到了所有這些東西,但是對知識庫的快速搜索沒有找到答案。
我改變COM端口1到110過程中監測註冊表變化,發現在以下鍵修飾:
[HKEY_LOCAL_MACHINE \ HARDWARE \ DEVICEMAP \ SERIALCOMM] 「\設備\的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」
Thanks for this。幸運的是,我們遇到的問題涉及到一套完全相同的設備,我們只需要爲這種類型的個人電腦提供解決方案。我的同事試圖按照下面的建議更改註冊表,我們設法使其工作。我會保持你的迴應安全,但它爲未來的使用提供了寶貴的信息。感謝所有回答這個問題的人。 – SparkyNZ 2010-01-05 01:47:15