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 Registry Eintrag: RegisteredOwner ??? (https://www.delphipraxis.net/32737-registry-eintrag-registeredowner.html)

Piro 27. Okt 2004 21:35


Registry Eintrag: RegisteredOwner ???
 
Folgender Code macht mir Probleme und ich weiß nicht warum.

Delphi-Quellcode:
function GetOwner: string;
var reg: TRegistry;
begin
  result:='N/A';
  reg:=TRegistry.Create;
  try
    reg.RootKey := HKEY_LOCAL_MACHINE;
    reg.OpenKey('Software\Microsoft\Windows NT\CurrentVersion', false);
    result := reg.ReadString('RegisteredOwner');
  finally
    reg.free;
  end;
end;
Aufruf:
Delphi-Quellcode:
procedure Tfrm_main.FormShow(Sender: TObject);
begin
 lbl_besitzer.Caption     := GetOwner;
end;
Fehlermeldung beim Aufruf: Inkompatible Typen: 'String' und 'TPersisten'.

Was soll das denn sein? Denn wenn ich die ProductId fast die gleich Funktion benutze, klappt alles wunderbar.

keine Ahnung, brauche mal einen Hinweis?

Danke

Dax 27. Okt 2004 21:39

Re: Registry Eintrag: RegisteredOwner ???
 
Zufällig gibt es für jedes TWinControl auch eine Methode GetOwner, solltest deine Funktion besser umbenennen.

jfheins 27. Okt 2004 21:41

Re: Registry Eintrag: RegisteredOwner ???
 
Hast du schon überprüft, ob er den schlüssel öffnen konnte ? (Ergebnis von openkey)

Piro 27. Okt 2004 21:48

Re: Registry Eintrag: RegisteredOwner ???
 
Danke

das umbennen der funktion hat gereicht, so was dummes. Naja, jeder macht mal fehler.

schönen abend noch.

sven

MathiasSimmack 28. Okt 2004 05:40

Re: Registry Eintrag: RegisteredOwner ???
 
Guten Morgen.

Du solltest deine Funktion noch erweitern und zusätzlich im Schlüssel "Windows" nachschauen (also ohne "NT"), denn unter 95/98/ME steht der Eintrag ganz sicher dort. ;)

Luckie 28. Okt 2004 08:50

Re: Registry Eintrag: RegisteredOwner ???
 
Und noch zwei Sachen:
Die Methode OpenKey ist nicht umsonst eine Funktion derene Rückgabewert man prüfen kann.

Unter NT ff. System werden nur Administratoren dein Programmm benutzten können. Die VCL öffnet standardmäßig die Schlüssel immer mit ALL_ACCESS mit der Methode Create. Es haben aber nur Administartoren dort Schreibrechte. Öffne den Schlüssel mit KEY_READ und auch nicht Administartoren können dein Programm benutzen.

Piro 28. Okt 2004 21:54

Re: Registry Eintrag: RegisteredOwner ???
 
Danke, das ist sehr hilfreich.

Ich habe das gearde mal versucht aber irgendwie funktioniert es nicht. Kannst du mir mal ein Tutorial oder ein Beispiel geben.

Danke im Voraus.

Sven

Luckie 28. Okt 2004 22:27

Re: Registry Eintrag: RegisteredOwner ???
 
Tutorial wo für?
Hier für:
Delphi-Quellcode:
reg := TRegistry.Create(KEY_READ);
:shock:


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 Uhr.

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