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 VirtualStore (https://www.delphipraxis.net/159879-registry-virtualstore.html)

seppitm 16. Apr 2011 22:34


Registry VirtualStore
 
Hallo ;-)
Ich habe folgendes Problem:
ich habe ein Programm (nicht von mir) das in die Registry seine Einstellungen unter:
Code:
HKEY_LOCAL_MACHINE\SOFTWARE\[Programmname]
ablegt.

Aber mein Windows7 schreibt die einstellungen in :
Code:
HKEY_USERS\S-1-5-21-NUMMERN HALT\Software\Classes\VirtualStore\MACHINE\SOFTWARE\Wow6432Node\[Programmname]
Ich möchte die Einstellungen auslesen und verändern mit einem Programm von mir.

Problem:
Wenn ich auf den Schlüssel
Code:
HKEY_LOCAL_MACHINE\SOFTWARE\[Programmname]
zugreife werde ich nicht weitergeleitet... Wie Änder ich das? ich möchte gerne auch weitergeleitet werden ( und würde gerne wissen warum Windows das macht, damit ich auch was lerne).

Mein Code zum Auslesen:
Delphi-Quellcode:
procedure TForm3.FormCreate(Sender: TObject);
var regist: TRegistry;
begin
  regist := TRegistry.Create();
  try
    regist.RootKey := HKEY_LOCAL_MACHINE;
    try
      regist.OpenKey('Software\Activision\[PROGRAMMNAME]', false);
      Edit1.Text := regist.ReadString('path');
    except
      Edit1.Text := '---';
    end;
  finally
    regist.free;
  end;
end;

Bummi 16. Apr 2011 23:24

AW: Registry VirtualStore
 
beim Zugriff auf HKEY_LOCAL_MACHINE landet jedes 32-Bit Programm in einem Wow6432Node, wenn das Programm "als Administrator" ausgeführt wird unter z.B. Software\Wow6432Node\.. wenn Du als "Nichtadminstrator" dorthin schreiben möchtest landest Du in einem virtualisierten Bereich...

seppitm 16. Apr 2011 23:47

AW: Registry VirtualStore
 
das ist eben nicht der Fall ^^ ich führe mein Programm nicht als Administrator aus... trotzdem kann ich drauf zugreifen bzw ich werde nicht weitergeleitet

Sir Rufo 17. Apr 2011 00:37

AW: Registry VirtualStore
 
Zitat:

Zitat von seppitm (Beitrag 1095617)
das ist eben nicht der Fall ^^ ich führe mein Programm nicht als Administrator aus... trotzdem kann ich drauf zugreifen bzw ich werde nicht weitergeleitet

Woran machst du das fest "ich werde nicht weitergeleitet?"
Diese Weiterleitung erfolgt transparent, das Programm denkt, es ist im Zweig xy aber Windows biegt das intern um ;)

seppitm 17. Apr 2011 14:40

AW: Registry VirtualStore
 
Ich mache es daran fest, das ich die werte nicht auslesen kann und nicht ändern er greift dann auf die normalen schlüssel zu nicht auf die virtuellen... habe das auch mit regmon geprüft. Inzwischen weiß ich das ich die runtime themes deaktivieren soll... Aber wieso? Und ich soll die shell extension raus nehmen. Für was ist das beides gut?


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