<span style="font-size:24px;">typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);
LPFN_ISWOW64PROCESS fnIsWow64Process;
BOOL IsWow64()
{
BOOL bIsWow64 = FALSE;
fnIsWow64Process = (LPFN_ISWOW64PROCESS) GetProcAddress(
GetModuleHandle(TEXT("kernel32")),"IsWow64Process");
if (NULL != fnIsWow64Process)
{
if (!fnIsWow64Process(GetCurrentProcess(),&bIsWow64))
{
// handle error
AfxMessageBox("IsWow64 error!");
}
}
return bIsWow64;
}
HKEY hKey;
LPCTSTR lpRun = L"Software\\MozillaPlugins\\VenusPlugin@wondertek.com";
REGSAM flag = IsWow64() ? KEY_READ|KEY_WOW64_32KEY : KEY_READ;//
long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpRun, 0, flag, &hKey);
if(lRet == ERROR_SUCCESS)
{
DWORD type,datalen;
_WCHAR wcPath[1024];
RegQueryValueEx(
hKey, // handle to key
L"path", // value name
0, // reserved
&type, // type buffer
LPBYTE(wcPath), // data buffer
&datalen // size of data buffer
);
SetEnvironment((_CONST _WCHAR *)L"WONDER", (_WCHAR *)wcPath);
RegCloseKey(hKey);
}</span>
如何在64/32位机器上读取32位注册表
最新推荐文章于 2021-05-03 09:15:31 发布