![]() |
Admin Rechte beim Lesen aus Registry 64Bit
Hallo,
ich teste gerade ein Programm das Einstellungen aus der Registry liest. Diese Einstellungen sind im Registrierzweig HKEY_LOCAL_MACHINE untergebracht. Bisher hat das gut funktioniert wenn ich die Anwendung als 32Bit Programm kompiliert habe. Jetzt habe ich die Anwendung als 64Bit Programm kompiliert und es funktioniert nicht mehr. Wenn ich die Anwendung mit Administratorrechten starte geht es. Ist das tatsächlich so, dass 64 Bit Anwendungen Administratorrechte benötigen wenn Einstellungen aus der Registry gelesen werden ?? :? kuba |
AW: Admin Rechte beim Lesen aus Registry 64Bit
Hast Du denn auch explizit gesagt, dass Du nur lesen möchtest (z.B. KEY_READ im Create der TRegistry-Instanz angegeben)?
|
AW: Admin Rechte beim Lesen aus Registry 64Bit
Öffnest du den Schlüssel readonly?
|
AW: Admin Rechte beim Lesen aus Registry 64Bit
Zitat:
Warum gibt es zwischen 32Bit und 64Bit einen Unterschied ?? kuba |
AW: Admin Rechte beim Lesen aus Registry 64Bit
Nicht wirklich, auch mit 32-Bit-Prozessen hat man (in "neueren" Windowsen) standardmäßig keinen Schreibzugriff auf diesen Pfad.
|
AW: Admin Rechte beim Lesen aus Registry 64Bit
Zitat:
kuba |
AW: Admin Rechte beim Lesen aus Registry 64Bit
Und arbeitest als normaler Benutzer oder mit aktivierter UAC?
|
AW: Admin Rechte beim Lesen aus Registry 64Bit
Zitat:
kuba |
AW: Admin Rechte beim Lesen aus Registry 64Bit
Zitat:
|
AW: Admin Rechte beim Lesen aus Registry 64Bit
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Natürlich teste ich die jeweilige Anwendung (32Bit/64Bit) mit der jeweiligen Windows Plattform ... Ich lese eine Zeitangabe in der Form 00:05:00 als String. Habe die Fehlermeldung (Windows XP X64) mal angehängt. Mit ReadOnly funktioniert es dann. Ebenso wenn ich die Anwendung als 32Bit Anwendung kompiliert habe. Hier auch nochmal der Sourcecode:
Delphi-Quellcode:
procedure ReadCountdown(var PW: String);
Var registry: TRegistry; Begin registry := TRegistry.Create; Try registry.RootKey := HKEY_LOCAL_MACHINE; ; registry.OpenKey(\Software\Test, False); PW := registry.ReadString('Zeit'); registry.CloseKey; Finally registry.Free; End; End; Die Umleitung Wow6432Node habe ich selbstverständlich berücksichtigt. kuba |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:02 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