參考以下 C++ 程式碼。 回傳True,則為Windows x64;回傳False,則為Windows x86。Winpe環境也可以正常執行。
typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL); BOOL IsWow64() { LPFN_ISWOW64PROCESS fnIsWow64Process; BOOL bIsWow64 = FALSE; fnIsWow64Process = (LPFN_ISWOW64PROCESS) GetProcAddress( GetModuleHandle(TEXT("kernel32")), "IsWow64Process"); if (fnIsWow64Process != NULL) { if (!fnIsWow64Process(GetCurrentProcess(),&bIsWow64)){ return FALSE; } } return bIsWow64; } void main() { if(IsWow64()) printf(TEXT("OS:x64 OS\n")); else printf(TEXT("OS:x86 OS\n")); }參考資料: