Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi COM-Schnittstelle: Gerätenamen ermitteln (https://www.delphipraxis.net/128285-com-schnittstelle-geraetenamen-ermitteln.html)

Quake 25. Aug 2011 08:44

AW: COM-Schnittstelle: Gerätenamen ermitteln
 
Der Thread ist zwar schon etwas älter aber ich habe mal etwas zusammen gebastelt was evtl. interessant sein könnte. Der Code soll nur als Anregung dienen. Ich konnte ihn noch nicht auf verschiedenen PCs testen. Unter Win98 uns alte Konsorten läuft er bestimmt nicht. Kommentare habe ich auch nicht verwendet aber ich denke der Code ist weitestgehend selbsterklärend.

Delphi-Quellcode:
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;


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:52 Uhr.
Seite 2 von 2     12   

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