belegte ComPorts anzeigen, wie?
Hallo
Gibt es einen Delphi Befehl mit dem man rausbekommen kann, welche ComPorts unter Windows gerade in Verwendung sind? Noch perfekter als nur die Info belegt ja/nein wäre natürlich auch noch den Text zu kriegen, den Windows im Geräte Manager vor den Port schreibt. Da mehrere Geräte verbunden sind könnte man so recht einfach das richtige finden, geht aber sicher auch anders. Wäre nett, wenn da Jemand nen Tip hätte. |
AW: belegte ComPorts anzeigen, wie?
Hallo,
ich bin sonst kein Freund von Antworten die nur Links enthalten, aber hier mal ein Thread der dir sicher weiter helfen sollte: http://www.delphipraxis.net/118592-c...-auslesen.html. Noch kurz anbei:
Greez, Chris P.S.: Willkommen in der DP :dp: |
AW: belegte ComPorts anzeigen, wie?
Welche es gibt, müsste doch in der Registry stehen. Alles ausprobieren ist doch etwas overhead und wäre zuviel des guten. wie machen das andere Tools?
zum auflisten der vorhandenen ports findet sich hier auch einiges in der dp (ich ha mal was aus der codesammlung in einem meiner programme genutzt) |
AW: belegte ComPorts anzeigen, wie?
Zitat:
die Frage ist, was heisst belegt genau: man kann nur feststellen, dass ein COM-Port z.B. von einem laufenden Fax-Programm benutzt wird. Läuft das Fax-Programm gerade nicht, ist der COM-Port für das System frei. Ob an einem Com-Port was angeschlossen ist, z.B. ein Fax-Modem, lässt sich überhaupt nicht sicher feststellen (es kann ja auch abgeschaltet sein), und jeder Versuch das festzustellen, kann das angeschlossene Gerät stören bis hin zum Zusammenbruch. Gruss Reinhard |
AW: belegte ComPorts anzeigen, wie?
|
AW: belegte ComPorts anzeigen, wie?
Es ist ein Unterschied, ob ich meinen USB-Seriell-Wandler a mein Laptop angeschlossen habe oder nicht. Etwas ganz anderes ist es, ob ich in einem meiner Programme dann auch noch den Port nutze.
Dann kommt noch die Frage, was das genau für ein Port ist und von welchem Programm er wofür genutzt wird. (Com-Port, Bluetooth, GPS, etc.) Ich hab zum beispiel im moment keinen Wandler dran hängen und trotzdem werden mir von Windows 3 Ports als Belebt angezeigt! |
AW: belegte ComPorts anzeigen, wie?
Hallo,
Zitat:
Das man schlussendlich per SW schwer sagen kann, ob dieser benutzt werden darf - was ja etwas völlig anderes ist als ob er belegt ist - dass ist tatsächlich schwer :-) Aber das haben ja hier auch schon ein paar andere Festgestellt :-) Greez, Chris |
AW: belegte ComPorts anzeigen, wie?
Zeigt belegte COMPORTS an:
Delphi-Quellcode:
.
. private { Private declarations } procedure InitializeSerialPorts; procedure WMDeviceChange(Var Msg:TMessage); message WM_DEVICECHANGE; . . procedure TForm1.WMDeviceChange(Var Msg:TMessage); begin if Msg.Msg=WM_DEVICECHANGE then BEGIN WindowsBeep(1000,50); InitializeSerialPorts; END; end; procedure TForm1.InitializeSerialPorts; var port: string; i: Integer; config: TCommConfig; cfsize: DWORD; begin for i := 1 to 16 do //MAX_NO_OF_SERIAL_PORTS begin if Components[i] is TCheckbox then TCheckbox(Components[i]).checked:=false; port := Format('COM%d', [i]); cfsize := sizeof(config); if GetDefaultCommConfig(PChar(port), config, cfsize) then case i of 1: Checkbox1.checked:=true; 2: Checkbox2.checked:=true; 3: Checkbox3.checked:=true; 4: Checkbox4.checked:=true; 5: Checkbox5.checked:=true; 6: Checkbox6.checked:=true; 7: Checkbox7.checked:=true; 8: Checkbox8.checked:=true; 9: Checkbox9.checked:=true; 10: Checkbox10.checked:=true; 11: Checkbox11.checked:=true; 12: Checkbox12.checked:=true; 13: Checkbox13.checked:=true; 14: Checkbox14.checked:=true; 15: Checkbox15.checked:=true; 16: Checkbox16.checked:=true; end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz