uses ... Registry, ...;
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
//ComPorts ermitteln und in ComboBox anzeigen
var
i: Integer;
reg: TRegistry;
sl: TStrings;
begin
reg := TRegistry.Create;
try
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.OpenKeyReadOnly('hardware\devicemap\serialcomm');
sl := TStringList.Create;
try
reg.GetValueNames(sl);
ComboBox1.Items.Clear;
for i := 0 to sl.Count - 1 do
begin
ComboBox1.Items.Add(reg.ReadString(sl.Strings[i]));
end;
finally
sl.Free;
end;
reg.CloseKey;
finally
reg.Free;
end;
// ComboBox1.ItemIndex := StrToInt(AnsiLastChar(Variable)) -1;
end;
Bei Variable könnte man eine Globale Stringvariable nehmen. Wenn man z.B. bei Programmstart den ComPort5 aus einer INI ausliest und dann geht man in die Einstellungen, so wird durch die Kommentierte Zeile der aktuelle ComPort in der ComboBox angezeigt. Ansonsten die ganze Zeile einfach weglassen.