Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Inst.-Name und -Firma aus Win-System auslesen (https://www.delphipraxis.net/4582-inst-name-und-firma-aus-win-system-auslesen.html)

oki 5. Mai 2003 12:27


Inst.-Name und -Firma aus Win-System auslesen
 
Hi Leute,

ich denke mein Thema ist nur über API-Funktionen lösbar. Ich möchte den bei der Installation von Windows eingetragenen Namen sowie den Eintrag für die Firma auslesen. Da ich sehr selten auf solche Informationen zugreifen muß sind mir die entsprechenden API-Methoden nicht geläufig.

Kann mir jemand diese nennen? Informationen zur eventuellen unterschiedlichen Behandlung bei Win98, Win2000, Win NT und XP währen hilfreich.

Gruß oki

Luckie 5. Mai 2003 12:44

Sthet, glaube ich, irgendwo in der Registry.

Marco Haffner 5. Mai 2003 13:59

Delphi-Quellcode:
uses Registry;

procedure RegReadString(var Name, Company: string);
begin
  with TRegistry.Create do
   try
      RootKey := HKEY_LOCAL_MACHINE;
      case Win32Platform of
      { Windows 95/98/ME }
         1: OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion', False);

      { Windows NT/2000/XP }
         2: OpenKey('\SOFTWARE\Microsoft\Windows NT\CurrentVersion', False);
      end;
      Name := ReadString('RegisteredOwner');
      Company := ReadString('RegisteredOrganization');
  finally
    Free;
  end;
end;

oki 5. Mai 2003 15:20

Hi Leute,

herzlichen Dank! Damit komm ich klar.

Gruß oki

ssach 5. Mai 2003 17:29

hy,

wollt fragen ob man mit dieser methode alle schluessel der registry lesen kann?
kann man dieser auch ueber delphi so aendern?

danke

cu

MathiasSimmack 7. Mai 2003 06:56

Auch wenn es schon zwei Tage her ist
Zitat:

Zitat von Marco Haffner
Delphi-Quellcode:
uses Registry;

procedure RegReadString(var Name, Company: string);
begin
  with TRegistry.Create do

{ ... }

Ich habe es zwar schon mehrfach erwähnt, aber ich tue es gern noch einmal. Beim Zugriff auf HKEY_LOCAL_MACHINE sollte man im Zusammenhang mit NT-Systemen (NT, 2000, XP) auch davon ausgehen, dass der Benutzer (der das Programm evtl. testet) keine Admin-Rechte hat. Mit dem Code von Marco würde er dann also keinen Benutzer- und Firmennamen sehen.

Das liegt an den Zugriffsrechten auf den Schlüssel HKLM. Des Rätsels Lösung ist, die Registry nur lesend zu öffnen, dann klappt´s auch bei eingeschränkten Rechten:
Delphi-Quellcode:
with TRegistry.Create(KEY_READ) do
Grüße.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:31 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