我有一个读取注册表项字符串值的小应用程序。它运作良好,但由于某些原因,在这个关键的失败: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductId
尽管其它值工作HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\
无法以编程方式读取某些注册表项
它也不能在'HKEY_LOCAL_MACHINE \ SOFTWARE \微软\加密\ MachineGuid”
我正在为一个管理员,这是一个因素吗?我正在运行W7 64bit,另一台W7机器和Vista机器都正常工作。我唯一的猜测是一些许可问题,或与我有关的运行64位。
任何想法?
更新: 这似乎与我的系统运行Windows 64位和\Software\Wow6432Node\
有关。我不知道是。我都\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\
和\Software\Microsoft\Windows NT\CurrentVersion\
但只有后者包含的ProductID值...由于某种原因,当我问关键的Windows显然看在Wow6432Node
我们使用wxWidgets的,但很可能,如果直接使用一些代码的Win32需要...我们的应用程序是一个32位应用程序,但目标个人电脑可以运行32或64位版本的Windows
如果您没有向我们展示代码,我们无法帮助您。你看过ACL吗?它不一定授予您正在运行的特定管理员用户。你得到什么错误代码? – bmargulies 2010-09-06 17:31:42
它是wxWindows中的包装代码...您只需传入关键路径以及其它所有工作。 – 2010-09-06 17:35:46
你可以扩大'它失败'?当然有一个错误代码返回,你能告诉我们它是什么吗? – James 2010-09-06 18:40:41