Einzelnen Beitrag anzeigen

hathor
(Gast)

n/a Beiträge
 
#11

AW: Name eines Comports auslesen

  Alt 31. Aug 2014, 16:42
Hier habe ich etwas gefunden, was gut funktioniert (auch ohne diesen JWA-...!)
http://www.delphipraxis.net/1119476-post11.html

Ausgabe:

Anzahl der Schnittstellen : 1
COM7 : USB Serial Port (COM7)


Delphi-Quellcode:
procedure TForm2.Button4Click(Sender: TObject); // uses Registry
var
  i: integer;
  Reg: TRegistry;
  SerPortNum: integer;
  EnumList: TStringList;
  FriendlyName: String;
  PortName: String;
begin
  Reg := TRegistry.Create();
  EnumList := TStringlist.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if Reg.OpenKeyReadOnly('\System\CurrentControlSet\Services\SerEnum\Enum') then
    begin
      SerPortNum := Reg.ReadInteger('Count');
      Memo1.Lines.Add('Anzahl der Schnittstellen : '+inttostr(SerPortNum));
      for i:=0 to SerPortNum-1 do
        EnumList.Add(Reg.ReadString(inttostr(i)));
      Reg.CloseKey;
      for i:=0 to SerPortNum-1 do
      begin
        if Reg.OpenKeyReadOnly('\System\CurrentControlSet\Enum\'+EnumList.Strings[i]+'\Device Parameters') then
          PortName := Reg.ReadString('PortName');
        Reg.CloseKey;
        if Reg.OpenKeyReadOnly('\System\CurrentControlSet\Enum\'+EnumList.Strings[i]) then
          FriendlyName := Reg.ReadString('FriendlyName');
        Reg.CloseKey;
        Memo1.Lines.Add(PortName + ' : ' + FriendlyName);
      end;
    end;
  finally
    EnumList.Free;
    Reg.Free;
  end;
end;
  Mit Zitat antworten Zitat