2011-10-20 143 views
4

我已经安装了一个软件,福昕阅读器(PDF阅读器)注册表项在Windows 7 64位

我的应用程序检查该软件是否已经安装或没有通过检查以下项存在与否的区别。

HKEY_LOCAL_MACHINE \ SOFTWARE \福昕软件\福昕阅读器

它seeems在所有的Windows操作系统都运行良好除Windows 7 64位。在调查中,我发现该软件的注册表项位于不同的位置。下面是位置。

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \福昕软件

如何检查福昕阅读器是否安装或没有正确,它应该在Windows操作系统的所有版本。

谢谢。任何帮助非常感谢。 :)

回答

4

编辑:

Wow6432Node是生活的32位条目。 64位在HKLM \ Software。在.net 4.0中,这个能力被添加来轻松地读取tehm。

例如代码中看到这一点:

http://www.rhyous.com/2011/01/24/how-read-the-64-bit-registry-from-a-32-bit-application-or-vice-versa/

没有4.0,你将不得不impport ADVAPI32.DLL和使用RegOpenKeyEx,RegCloseKey和的RegQueryValueEx。

+0

谢谢,我会查找它。 – Lamps

+0

Wow6432Node是_32-bit注册表项的存在位置。 64位条目是您期望的地方:'HKLM \ Software'。像Foxit这样的32位程序可以存储在HKLM \ Software \ Wow6432Node下,除非程序在没有虚拟化的情况下明确请求密钥。 – Joshua

+0

感谢 - 反向 - 编辑。 – bryanmac

0

我可能会检查两个位置。您可以专门查看32位注册表位置,但是您无法检测到64位版本的Foxit(是否应该创建它)。