Трябва да знам дали даден .exe е 32-битов или 64-битов, преди да го стартирам. IsWow64Process
не е полезен тук, тъй като все още няма процес. Има ли друг API, който ще ми даде тази информация?
Програмно определяне дали собственият .exe е 32-битов или 64-битов
comment
възможен дубликат на Как да намеря дали е роден dll е компилиран като x64 или x86?
- person Steve Townsend   schedule 03.11.2010
comment
Всъщност изтеглям дублиращото копие - изглежда, че това е много по-лесно за EXE, отколкото за DLL.
- person Steve Townsend   schedule 03.11.2010
Отговори (3)
Ако наистина искате да направите това само за EXE файлове, а не за DLL файлове, просто използвайте GetBinaryType.
Определя дали файлът е изпълним (.exe) файл и ако е така, коя подсистема изпълнява изпълнимия файл.
person
Steve Townsend
schedule
03.11.2010
Да, това е точно това, което искам, и е много по-лесно, отколкото сам да чета заглавката на PE, което предложиха другите отговори. Благодаря.
- person JSBձոգչ; 03.11.2010
Имате късмет, че просто се нуждаете от EXE файлове :-) Тези сложни изкривявания изглеждат необходими, за да направите това за DLL файлове. Пропуск в Win32, imo.
- person Steve Townsend; 03.11.2010
Тази публикация със сигурност ще ви помогне.
Свързано е с C#, но ще ви даде идеята.
person
Liviu Mandras
schedule
03.11.2010
Тази информация е достъпна в една от заглавките на файлов формат PE (форматът, използван за exe и dll файлове). Информацията в тези заглавки може да бъде извлечена програмно (те са на определено отместване) или по-безопасно заявена чрез Win32 API.
Добре, Ливиу намери правилната показалка за теб.
person
Johannes Rudolph
schedule
03.11.2010