Frage

Weiß jemand, wie man die COM-Port-Nummer ändert, die Windows einem virtuellen USB-COM-Port zuordnet?Sie können dies über den Geräte-Manager und einen Klick auf die Schaltfläche „Erweitert“ ändern.Aber wie können Sie dies über eine API, eine Registrierungsänderung oder einen Befehlszeilenvorgang tun?

Irgendwelche Ideen bitte?

War es hilfreich?

Lösung

Vielleicht finden Sie diese Antwort nützlich:

Wie kann ich erhält die angezeigten Namen eines COM-Port in Windows?

Es geht um den angezeigten Namen zu finden, aber ich denke, Sie finden es Sie nach rechts Bereich der Registrierung verweist, den ‚offiziellen‘ Mechanismus für den richtigen Schlüssel zu lokalisieren.

Wenn Sie jedoch die Portzuordnung zu ändern, sollten Sie auch die COM-Port-Datenbank aktualisieren - siehe: https://msdn.microsoft.com/en-us/library/ff546481.aspx

Wenn ich etwas Ähnliches zu tun hatte, fand ich das richtige Gerät, den Mechanismus in dem SO Artikel verknüpft beschrieben verwendet wird, und dann rief SerialDisplayAdvancedSettings ((HWND) NULL, hDeviceInfo & devInfoData); den erweiterten Dialog anzuzeigen und lassen Sie das Betriebssystem auf die harte Arbeit tun.

Heute bist du immer wahrscheinlicher ungerade ‚nicht real‘ serielle Schnittstellen (zum Beispiel USB-Ports) zu begegnen, die anderen Unverträglichkeiten haben könnten Sie auch vorsichtig sein müssen.

Andere Tipps

ich überwachte Registry-Änderungen beim Wechsel COM-Port-1-110 und gefunden Änderungen in folgenden Tasten:

  

[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 \ Geräteparameter]   "Portname" = "COM110"

Ich weiß zwar nicht, wie ich das machen soll, aber ich würde Folgendes tun:

Verwenden Sie die Methode „Arbeitsplatz/Geräte-Manager“, um einen unwahrscheinlichen COM-Port zuzuweisen, z. B. 61.Verwenden Sie dann regedit, um nach COM61 ​​zu suchen und zu sehen, was der Geräte-Manager getan hat.

Ich weiß, dass ich all diese Dinge irgendwo in der Registrierung gesehen habe, aber eine schnelle Suche in der Wissensdatenbank ergab keine Antworten.

Dieser Wechsel in zwei Schritten unten, um in der Registrierung durch den „regedit“ getan wird:

  1. Ändern Sie den Namen: Im ersten Schritt müssen Sie die folgenden Tasten ändern: 1.1. Im "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Enum \ XXX", die XXX Ihr Gerätename ist. Sie müssen jeden Punkt verfolgen, die „Friendly“ zu finden und es dann ändern, wie Sie möchten (zB: „USB Serial Port (6)“). 1.2. Im vorherigen Schlüssel, wieder müssen Sie den Artikel verfolgen, den „Portnamen“ und ändern Sie es in die Port-Nummer (Bsp: „COM6“) zu finden

  2. Ändern Sie die Portnummer: Im „HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ COM Namen Arbiter“, können Sie die „ComDB“ finden, die eine Bitmaske von COM-Ports ist bereits vergeben. Dieser Wert soll Änderung basierend auf COM-Ports sein. Hinweis: das erste Byte steuert COM8 ~ 1, das zweite Byte steuert COM16 ~ 9, das dritte Byte steuert COM24 ~ COM17 und so weiter. Ein Wert = 0 bedeutet, dass der Port nicht verwendet wird. Ein Wert = 1 bedeutet, dass der Anschluss besetzt ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top