[Lazarus i Delphi] Jak wypełnić ComboBox dostępnymi w systemie portami szeregowymi (COM)

Kod sprawdzony na Delphi 10.1 Berlin w Windows 10

procedure TForm1.Button1Click(Sender: TObject);
var
  i:  integer;
  Rejestr:  TRegistry;
begin
  Rejestr := TRegistry.Create;
  try
    Rejestr.RootKey := HKEY_LOCAL_MACHINE;
    if Rejestr.OpenKeyReadOnly('HARDWARE\DEVICEMAP\SERIALCOMM') then
    begin
      Rejestr.GetValueNames(ComboBox1.Items);
      for I := 0 to ComboBox1.Items.Count - 1 do
        ComboBox1.Items[i] := Rejestr.ReadString(ComboBox1.Items[i]);
    end;
    ComboBox1.Sorted := true;
  finally
    Rejestr.Free;
  end;
end;

Komentarze