Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Registry 64 Bit (https://www.delphipraxis.net/153943-registry-64-bit.html)

JannesDKS 21. Aug 2010 14:33

Registry 64 Bit
 
Moin,

ich hab ein kleines Problem beim Zugriff auf die Registry auf einem 64-Bit Win7 System. Vielleicht habt ihr ja ne Idee. Das auslesen einer Zeichenfolge geht, aber wenn ich den gleichen Code auf Key_Write ändere, funktioniert es nicht. Hat jemand nen Lösungsansatz?

Delphi-Quellcode:
regist := TRegistry.create();
regist.Access := KEY_WRITE or KEY_WOW64_64KEY;
regist.rootKey := HKEY_LOCAL_MACHINE;
regist.Openkey('\SOFTWARE\Test\GTH',false);
regist.WriteString('Lastuser',GlobalUserName);
Vielen Dank schonmal

Jannes

Luckie 21. Aug 2010 15:17

AW: Registry 64 Bit
 
Wie wäre es mal mit einer gescheiten Fehlerbehandlung? OpenKey ist eine Funktion, die true oder fals zurückgibt. Und mit GetLastError weiß man dann auch warum sie fehlgeschlagen ist.

JannesDKS 21. Aug 2010 15:37

AW: Registry 64 Bit
 
Hey

Delphi-Quellcode:
if not regist.Openkey('\SOFTWARE\Test\GTH\',false) then
begin
    showmessage(SysErrorMessage(GetLastError));
end;
gibt mir die tolle Meldung: der Vorgang wurde erfolgreich abgeschlossen.
Aber danke, hätt ja Erkenntnisse bringen können.

Codewalker 21. Aug 2010 16:27

AW: Registry 64 Bit
 
Mit welchen Rechten läuft dein Programm? Du forderst ja Schreibrechte auf LOCAL_MACHINE an, da braucht man soweit ich weiß Administratorrechte.

Luckie 21. Aug 2010 16:33

AW: Registry 64 Bit
 
Zitat:

Zitat von JannesDKS (Beitrag 1043950)
gibt mir die tolle Meldung: der Vorgang wurde erfolgreich abgeschlossen.
Aber danke, hätt ja Erkenntnisse bringen können.

Tut es auch. Ich schätze mal, dass da die Virtualisierung wieder mal zuschlägt. Näheres im Forum über die Suche.

JannesDKS 22. Aug 2010 19:34

AW: Registry 64 Bit
 
Hey,
danke Codewalker, das hat's gebracht :-)
Hab's jetzt auf local_user umgestellt.

Codewalker 22. Aug 2010 21:31

AW: Registry 64 Bit
 
Zitat:

Zitat von JannesDKS (Beitrag 1044209)
Hab's jetzt auf local_user umgestellt.

Das löst zwar scheinbar dein Problem, aber der User-Zweig ist für benutzerspezifisch. Und da du in deinem Code
Delphi-Quellcode:
'lastuser'
als Schlüsselnamen wählst, unterstelle ich mal, dass der zuletzt angemeldete Benutzer deines Programms angezeigt werden soll. Wenn du das in HKEY_CURRENT_USER schreibst, dann hat jeder Windows-User dort einen eigenen Wert stehen. (Ich hoffe es ist klar, was ich meine :lol: )


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