Delphi7.0 如何读取64位系统的注册表?
众所周知在64位系统里的注册表里有一项Wow6432Node,这是32位软件安装在64位系统时的注册表路径。
我以下程序
在安装有CAD的32位系统运行都正常,得到的结果是"存在";
但在64的系统运行就导常,得到的结果是"不存在";(确认过HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk是存在的)
网上找了许多资料,
都说32位的软件在64位系统用,注册表重定向到
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node下
而不是
HKEY_LOCAL_MACHINE\SOFTWARE\下。
procedure TForm1.btn1Click(Sender: TObject);
var
Reg:TRegistry;
Str:string;
begin
Reg:=TRegistry.Create();
Reg.RootKey:=HKEY_LOCAL_MACHINE;
try
if Reg.OpenKey('SOFTWARE\Autodesk',False) then//64位系统注册表上是有Autodesk项的
begin
ShowMessage('存在');
end
else
begin
ShowMessage('不存在');
end;
finally
Reg.CloseKey
end;
end;
有什么办法能解决这问题?
Delphi7.0开发出的程序能读64位系统的注册表? 问题已解决,
分享与大家
TRegistry.Create(KEY_WOW64_64KEY){:10_256:}
页:
[1]