您的位置:首页 > 编程语言 > C语言/C++

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的系统
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ winapi null