このコードを使用して、キーが存在するかどうかを確認します。
if RegKeyExists(HKEY_LOCAL_MACHINE, 'Software\Autodesk') then
begin
MsgBox('Key exists!!', mbInformation, MB_OK);
end;
この例では、機能します。メッセージボックスがありますが、これでは機能しません:
if RegKeyExists(HKEY_LOCAL_MACHINE, 'Software\Autodesk\Maya') then
begin
MsgBox('Key exists!!', mbInformation, MB_OK);
end;
しかし、Maya
キーは私のコンピューターに存在します。誰でも私を助けることができますか?
編集 :
実際、Inno Setup は正しいキーにアクセスしていないようです...
たとえば、このコードでは のすべてのサブキーを一覧表示しますHKEY_LOCAL_MACHINE\SOFTWARE
が、(!) 結果はHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node
...のすべてのサブキーになります。
if RegGetSubkeyNames(HKEY_LOCAL_MACHINE, 'SOFTWARE', Names) then
begin
S := '';
for I := 0 to GetArrayLength(Names)-1 do
S := S + Names[I] + #13#10;
MsgBox('List of subkeys:'#13#10#13#10 + S, mbInformation, MB_OK);
end;
なぜこのWow6432Node
鍵?