c++ Win x64 注册表操作
2012-02-15 15:29
197 查看
是否为 x64
的操作系统
bool Utility::IsWow64()
{
typedefBOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);
LPFN_ISWOW64PROCESSfnIsWow64Process;
BOOLbIsWow64 = FALSE;
fnIsWow64Process= (LPFN_ISWOW64PROCESS)GetProcAddress(GetModuleHandleA("kernel32"),"IsWow64Process");
if(NULL != fnIsWow64Process)
{
fnIsWow64Process(GetCurrentProcess(),&bIsWow64);
}
returnbIsWow64;
}
注册表的操作:
如果你访问
HKEY_LOCAL_MACHINE
主键下的
SOFTWARE
下的子键
在x64位下访问到的是
SOFTWARE\Wow6432Node
例如 :
在x32
下的注册表路径是HKEY_LOCAL_MACHINE\SOFTWARE\IISFilter
对应x64下的就是HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\IISFilter
如果你要在x64下访问HKEY_LOCAL_MACHINE\SOFTWARE\IISFilter操作注册表时加上
| KEY_WOW64_64KEY
CRegKey reg;
reg.Open(HKEY_LOCAL_MACHINE,_T("SOFTWARE\\IISFilter"),KEY_READ| KEY_WOW64_64KEY); //防止x64的系统
的操作系统
bool Utility::IsWow64()
{
typedefBOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);
LPFN_ISWOW64PROCESSfnIsWow64Process;
BOOLbIsWow64 = FALSE;
fnIsWow64Process= (LPFN_ISWOW64PROCESS)GetProcAddress(GetModuleHandleA("kernel32"),"IsWow64Process");
if(NULL != fnIsWow64Process)
{
fnIsWow64Process(GetCurrentProcess(),&bIsWow64);
}
returnbIsWow64;
}
注册表的操作:
如果你访问
HKEY_LOCAL_MACHINE
主键下的
SOFTWARE
下的子键
在x64位下访问到的是
SOFTWARE\Wow6432Node
例如 :
在x32
下的注册表路径是HKEY_LOCAL_MACHINE\SOFTWARE\IISFilter
对应x64下的就是HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\IISFilter
如果你要在x64下访问HKEY_LOCAL_MACHINE\SOFTWARE\IISFilter操作注册表时加上
| KEY_WOW64_64KEY
CRegKey reg;
reg.Open(HKEY_LOCAL_MACHINE,_T("SOFTWARE\\IISFilter"),KEY_READ| KEY_WOW64_64KEY); //防止x64的系统
相关文章推荐
- C#操作注册表实现添加/删除可信站点
- 20170910WindowsPrj06_注册表操作
- 注册表操作(VC_Win32)
- 操作注册表REG_SZ和REG_EXPAND_SZ的区别
- C#操作注册表类(完整版,封装了各种方法只要调用即可)
- 注册表读写操作的VC实现[转]
- 判断某键值是否存在[注册表操作]
- TRegistry_delphi中对注册表的操作
- 注册表操作API 目录
- c# win7注册表【Registry】 操作
- JAVA操作注册表
- windows中对环境变量操作实质上是对注册表的操作
- CRegKey 注册表操作
- 用VB操作注册表
- ObjectType HOOK干涉注册表操作(bypass Icesword,gmer,NIAP,etc.)
- Win32 API 常用函数之三——注册表操作(上)
- 驱动注册表操作
- 禁止系统运行某个进程的简单方法(注册表操作)
- 操作注册表的API函数介绍(RegQueryValueEx:该函数用来查找一个给定类型和值的注册表项)
- JScript中的注册表操作