Программно определить, является ли нативный .exe 32-битным или 64-битным - PullRequest
6 голосов
/ 03 ноября 2010

Мне нужно знать, является ли данный .exe 32-разрядным или 64-разрядным, до того, как запустит его.IsWow64Process здесь бесполезен, так как еще нет процесса.Есть ли какой-нибудь другой API, который даст мне эту информацию?

Ответы [ 3 ]

11 голосов
/ 03 ноября 2010

Если вы действительно хотите сделать это только для EXE, а не для DLL, просто используйте GetBinaryType .

Определяет, является ли файл исполняемым (.exe) файлом, иесли да, то какая подсистема запускает исполняемый файл.

5 голосов
/ 03 ноября 2010

Этот пост наверняка вам поможет.

Имеет отношение к C #, но это даст вам представление.

1 голос
/ 03 ноября 2010

Эта информация доступна в одном из заголовков файла формата PE File (формат, используемый для exe и dll). Информация в этих заголовках может быть извлечена программно (с указанным смещением) или более безопасно запрашиваться через Win32 API.

Хорошо, Ливиу получил правильный указатель для вас.

...