Einfache EXE funktioniert aus
DLL der gleiche Code nicht.
Warum?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
FilePath:
string;
res: BOOL;
begin
PRegKey := TRegistry.Create(KEY_READ);
PRegKey.RootKey := HKEY_LOCAL_MACHINE;
FilePath := '
SOFTWARE\Classes\Wow6432Node\CLSID';
res := PRegKey.OpenKey(FilePath, False);
if res
then
begin
if PRegKey.HasSubKeys
then
begin
// PRegKey.GetKeyNames(subKeyFilePath);
PRegKey.CloseKey;
end;
end;
PRegKey.Free;
end;
Ich bekomme den Zugriff mit OpenKeyReadOnly oder OpenKey denke der ausschlaggebende punkt hierbei ist wie die Registry erstellt wird.
Bei mir mit KEY_READ
Es geht mit 'SOFTWARE\Classes\Wow6432Node\
CLSID'; und ohne Wow6432Node 'SOFTWARE\Classes\
CLSID'; daran liegt es nicht.