![]() |
Richtige! ComPorts aus der Registry? holen.
Hallöchen,
mit folgendem Code fische ich mir alle ComPorts aus dem System und zeige sie zur Auswahl in einer CB an.
Delphi-Quellcode:
So, nun zum Problem. Es werde so auch Virtuelle Modems angezeigt. Wie z.B. AVMISDN usw. Fritz besitzer wissen was ich meine.
procedure TForm2.FormShow(Sender: TObject);
//ComPorts ermitteln und in ComboBox Anzeigen var reg: TRegistry; sl: TStrings; i: integer; s: string; begin ShowMessage('Bei Änderungen, kann gleich mit den neuen Werten weiter gearbeitet' + #13 + 'werden. Das Programm muss nicht neu gestartet werden!'); reg := TRegistry.Create; reg.RootKey := HKEY_LOCAL_MACHINE; reg.OpenKey('hardware\devicemap\serialcomm', False); sl := TStringList.Create; reg.GetValueNames(sl); ComboBoxPort.Items.Clear; for i:=0 to sl.Count -1 do begin ComboBoxPort.Items.Add(reg.ReadString(sl.Strings[i])); end; sl.Free; reg.CloseKey; reg.free; ComboBoxPort.ItemIndex := StrToInt(AnsiLastChar(ComPortPort)) -1; end; Hier habe ich mir gedacht, machst mal eine Schleife mit den CB.Items.Count und löscht alle Einträge die vom Namen her nicht COM1 bis COM8 heissen. Würde prinzipiell klappen. Nur, ich habe gerade festgestellt, das ich ein COM3 im System habe, das aber nur irgendwas Virtuelles ist. Blöderweise würde ich es in der Schleife nicht feststellen, also auch nicht löschen, nur das man damit nicht kommunizieren kann. Ich hab dann im Geräte-Manager rein geschaut und festgestellt, das der COM3 gar nicht aufgelistet ist. Ist also wirklich was virtuelles/komisches. Also, wie und woher krieg ich den jetzt die richtigen! ComPorts aus dem System? Grüsse, Daniel :hi: |
Bei mir (Win XP) stehen die Comports auch unter:
HKEY_LOCAL_MACHINE Hardware/Desription/System/MultiFunctionAdapter/5/SerialController Vielleicht kannste damit was anfangen... |
und unter:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\ *PNP0501\ ...und an ein paar anderen Stellen, such einfach mal nach Com1 oder so. |
Nee, das bringt mir alles nichts. Trotzdem Danke.
Grüsse, Daniel :hi: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz