2010-01-04 61 views

回答

5

您可能會發現這個答案有用:

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端口),因此您需要謹慎。

+0

Thanks for this。幸運的是,我們遇到的問題涉及到一套完全相同的設備,我們只需要爲這種類型的個人電腦提供解決方案。我的同事試圖按照下面的建議更改註冊表,我們設法使其工作。我會保持你的迴應安全,但它爲未來的使用提供了寶貴的信息。感謝所有回答這個問題的人。 – SparkyNZ 2010-01-05 01:47:15

1

隨口說說,我不知道如何做到這一點,但這裏是我會做什麼:

使用我的電腦/設備管理器的方法來分配一些不可能的COM端口,如61,然後使用註冊表編輯器來搜索爲COM61​​,看看設備管理器做了什麼。

我知道我已經在註冊表的某處看到了所有這些東西,但是對知識庫的快速搜索沒有找到答案。

6

我改變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」