2 yangqingwen911 yangqingwen911 于 2017.09.01 11:33 提问

32位程序访问64位系统下的32位注册表问题?

我有一个32为程序,有一个功能就是打开注册表HKEY_LOCAL_MACHINE分支往里面写入数据,一般情况下均正常。可是在某些(个别)的Win7 64位系统下,打开注册表会失败,采用的是CRegKey的Open方法,reg.Open(HKEY_LOCAL_MACHINE, T("SOFTWARE\Microsoft\Windows\CurrentVersion\Run"))。但是如果打开64位注册表则成功,reg.Open(HKEY_LOCAL_MACHINE, T("SOFTWARE\Microsoft\Windows\CurrentVersion\Run"), KEY____ALL_ACCESS | KEY_WOW64_64KEY)。求教此问题是怎么回事,并不是所有Win7 64位系统都有问题,只是个别的会出现无法打开32位注册表

2个回答

oyljerry
oyljerry   Ds   Rxr 2017.09.01 12:30

一般你32位程序如果要访问64位系统,最好自己指定是访问64位注册表路径还是wow3264下面的。不然就依赖系统帮你重定向,这个可能有些系统就有问题了。

yangqingwen911
yangqingwen911   2017.09.01 13:41

楼上你的意思是可能是个别系统重定向的问题?我应该显示的指明使用哪个注册表。

Csdn user default icon
上传中...
上传图片
插入图片