FreeBasic
Главная
Вход
Регистрация
Воскресенье, 22.10.2017, 05:28Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Freebasic » Исходники » Как x86 программе узнать, что она запущена в x64 windows?
Как x86 программе узнать, что она запущена в x64 windows?
electrikДата: Среда, 07.10.2015, 12:58 | Сообщение # 1
Майор
Группа: Друзья
Сообщений: 93
Репутация: 3
Статус: Offline
данный пример показывает, Как во время исполнения, 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
 
Форум » Freebasic » Исходники » Как x86 программе узнать, что она запущена в x64 windows?
Страница 1 из 11
Поиск: