данный пример показывает, Как во время исполнения, 32-битной программе узнать, что она запущена в 64-битной Windows
Код
' пример на c++ находится на http://www.viva64.com/ru/k/0016/
#include "windows.bi"
declare function IsWow64() as bool
if (IsWow64()) then
print("The process is running under WOW64.")
else
print("The process is not running under WOW64.")
end if
print("Press any key to continue...")
sleep
function IsWow64() as bool
type LPFN_ISWOW64PROCESS as function(byval as HANDLE, byval as PBOOL) as BOOL
dim as HMODULE module = GetModuleHandle("kernel32.dll")
dim as BOOL bIsWow64 = FALSE
dim fnIsWow64Process as LPFN_ISWOW64PROCESS = cast(LPFN_ISWOW64PROCESS ,GetProcAddress(module, "IsWow64Process"))
if(fnIsWow64Process) then
if (fnIsWow64Process(GetCurrentProcess(), @bIsWow64)) = 0 then
' throw std::exception("Unknown error");
return FALSE
end if
end if
return bIsWow64
end function