Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- BOOL is64bit=FALSE;
- BOOL is64BitProcess()
- {
- HANDLE procImageFile;
- IMAGE_DOS_HEADER dosHdr;
- IMAGE_NT_HEADERS ntHdr;
- DWORD read;
- HMODULE mod;
- wchar_t fname[MAX_PATH] = { 0 };
- mod = GetModuleHandle(NULL);
- GetModuleFileNameW(mod, fname, MAX_PATH);
- procImageFile = CreateFile((LPCWSTR)fname, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
- if (procImageFile == INVALID_HANDLE_VALUE)
- return FALSE;
- ReadFile(procImageFile, &dosHdr, sizeof(IMAGE_DOS_HEADER), &read, NULL);
- SetFilePointer(procImageFile, dosHdr.e_lfanew, NULL, FILE_BEGIN);
- ReadFile(procImageFile, &ntHdr, sizeof(IMAGE_NT_HEADERS), &read, NULL);
- CloseHandle(procImageFile);
- is64bit = ntHdr.FileHeader.Machine == IMAGE_FILE_MACHINE_AMD64;
- return is64bit;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement