64位读取注册表与32位的区别
2016-03-03 09:42
435 查看
有一个读取注册表信息的程序 if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, subkeystring , 0, KEY_READ, &hKey) == ERROR_SUCCESS)/
,在32位下完全正常,但是在64位返回值正确,但就是读不到东西。后来单步发现读不到东西,就搜64位读注册表失败,发现需要加
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, subkeystring , 0,KEY_READ|KEY_WOW64_64KEY, &hKey) == ERROR_SUCCESS)就可以了,我是全部把权限提高,还可以根据不同的操作系统,设置不同的参数。
LPFN_ISWOW64PROCESS fnIsWow64Process;
IsWow64返回TRUE则是64位系统,否则为32位系统。
BOOL IsWow64()
{
BOOL bIsWow64 = FALSE;
fnIsWow64Process = (LPFN_ISWOW64PROCESS) GetProcAddress(
GetModuleHandle(TEXT("kernel32")),"IsWow64Process");
if(NULL != fnIsWow64Process)
{
if (!fnIsWow64Process(GetCurrentProcess(),&bIsWow64))
{
return FALSE;
}
}
return bIsWow64;
}
可参考的文献:
http://msdn.microsoft.com/en-us/library/aa384129(v=VS.85).aspx http://www.codeproject.com/Articles/51326/Net-Compilation-registry-accessing-and-applicatio http://boluns.blog.163.com/blog/static/69845968201071132032313/
友情链接:http://www.cnblogs.com/walfud/articles/2311065.html
,在32位下完全正常,但是在64位返回值正确,但就是读不到东西。后来单步发现读不到东西,就搜64位读注册表失败,发现需要加
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, subkeystring , 0,KEY_READ|KEY_WOW64_64KEY, &hKey) == ERROR_SUCCESS)就可以了,我是全部把权限提高,还可以根据不同的操作系统,设置不同的参数。
IsWow64Process 判断64位操作系统
typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);LPFN_ISWOW64PROCESS fnIsWow64Process;
IsWow64返回TRUE则是64位系统,否则为32位系统。
BOOL IsWow64()
{
BOOL bIsWow64 = FALSE;
fnIsWow64Process = (LPFN_ISWOW64PROCESS) GetProcAddress(
GetModuleHandle(TEXT("kernel32")),"IsWow64Process");
if(NULL != fnIsWow64Process)
{
if (!fnIsWow64Process(GetCurrentProcess(),&bIsWow64))
{
return FALSE;
}
}
return bIsWow64;
}
可参考的文献:
http://msdn.microsoft.com/en-us/library/aa384129(v=VS.85).aspx http://www.codeproject.com/Articles/51326/Net-Compilation-registry-accessing-and-applicatio http://boluns.blog.163.com/blog/static/69845968201071132032313/
友情链接:http://www.cnblogs.com/walfud/articles/2311065.html
相关文章推荐
- iOS7的适配小问题, uiscrollview中view向下偏移64
- js实现向后台传递二维数组
- Spring Hibernate Validator 国际化动态参数不起作用的解决办法
- spring配置文件中xsd引用问题
- c#保存文件的一个自定义方法
- iMSO-204L混合信号示波器
- [从头学数学] 第118节 实数
- 23种设计模式之创建型模式
- 此证书的签发者无效
- 安卓图片加载之使用universalimageloader加载圆形圆角图片
- Android中Window添加View的底层原理
- Oracle数据库分区技术
- Android 屏蔽home键
- day03 js
- 玩一个预测人品的比赛-代码积累
- 封装insertAfter、addClass
- 决战Offer---操作系统
- HDU 2817 A sequence of numbers(快速幂)
- 怎么解决Failed to load the JNIshared library
- android最清楚,也是最不清楚的weigth属性