Tôi cần biết liệu một .exe là 32 bit hoặc 64 bit, trước khi Tôi khởi chạy nó. IsWow64Process
không được sử dụng ở đây vì chưa có quy trình. Có một số API khác sẽ cung cấp cho tôi thông tin này không?Lập trình xác định nếu gốc .exe là 32-bit hoặc 64-bit
Trả lời
Nếu bạn thực sự chỉ muốn làm điều này cho EXE và không phải là tệp DLL, chỉ cần sử dụng GetBinaryType.
Xác định xem một tập tin là một thực thi (.exe) tập tin, và nếu như vậy, mà hệ thống phụ chạy tập tin thực thi .
Vâng, đây là * chính xác * những gì tôi muốn, và nó dễ dàng hơn nhiều so với đọc tiêu đề PE bản thân mình, đó là những gì các câu trả lời khác được đề xuất. Cảm ơn. –
Bạn may mắn là bạn chỉ cần EXE :-) Những sự phức tạp này xuất hiện cần thiết để làm điều này cho các DLL. Một khoảng cách trong Win32, imo. –
Thông tin này có sẵn ở một trong các tiêu đề của PE File file format (định dạng được sử dụng cho exe và dll). Thông tin trong các tiêu đề này có thể được trích xuất theo chương trình (chúng được xác định theo độ lệch) hoặc được truy vấn một cách an toàn hơn thông qua API Win32.
Được rồi, Liviu có con trỏ chính xác cho bạn.
- 1. Truy cập> 2,3,4 GB tệp trong quy trình 32bit trên 64bit (hoặc 32bit) Windows
- 2. Thuộc tính struct khác nhau dựa trên 32bit hoặc 64bit
- 3. Inno-setup 32bit và 64bit trong một
- 4. Nhập dll bên ngoài dựa trên hệ điều hành 64bit hoặc 32bit
- 5. Cách kiểm tra xem IIS có ở chế độ 32bit hoặc 64bit
- 6. Chi tiết thời gian giữa 32bit và 64bit Windows
- 7. Cách phát hiện tệp PE đã cho (exe hoặc dll) là 64 bit hoặc 32 bit
- 8. libstdC++ Phiên bản 64bit và 32bit trên cùng một máy
- 9. Chương trình 64bit vC++ dường như chạy dưới chế độ 32bit
- 10. Cách xác định xem EXE có phải là WPF
- 11. Loại "int" tương thích trong cả hai cửa sổ 32Bit & 64Bit trong C++ là gì?
- 12. Định nghĩa lập trình: Chính xác là 'Xây dựng'.
- 13. Đặt thuộc tính mặc định là 0 nếu để trống hoặc nếu không xác thực số
- 14. Làm thế nào để lập trình xác định gốc tài liệu trong PHP?
- 15. ngôn ngữ lập trình không xác định
- 16. Ngôn ngữ lập trình PHP hoặc ngôn ngữ lập trình?
- 17. Xác định nếu một chiếc iPhone được tù bị phá vỡ Lập trình
- 18. Tùy chọn để sử dụng System.Data.SQLite trong 32bit và 64bit C# world
- 19. Làm thế nào để enum module trong một quá trình 64bit từ một 32bit WOW xử lý
- 20. Xác định DataGridView Loại cột Lập trình
- 21. Làm thế nào để xác định nếu DLL là COM hoặc .NET?
- 22. Xác định hình chữ nhật là hai điểm hoặc nguồn gốc/kích thước?
- 23. Tìm lập trình nếu theo C++ hoặc C++/CLI
- 24. Với Wix, phân phối chương trình sử dụng SQLite (phải hoạt động trên cả 32bit và 64bit)
- 25. Xác định theo Lập trình Nếu Tệp Excel (.xls) Chứa Macro
- 26. Xác định máy in gốc
- 27. Các trang phục của Windows độc lập .exe và trình cài đặt là gì?
- 28. JDK 64bit hoặc 32 bit?
- 29. Nhắm mục tiêu cả 32bit và 64bit với Visual Studio trong cùng một giải pháp/dự án
- 30. Javascript: sử dụng hoặc một biến, hoặc nếu nó không xác định, một chuỗi mặc định
bản sao có thể có của [Làm thế nào để tìm thấy nếu dll gốc được biên dịch dưới dạng x64 hoặc x86?] (Http://stackoverflow.com/questions/480696/how-to-find-if-native-dll-is- biên dịch-as-x64-hoặc-x86) –
Thực ra, tôi rút lại lệnh dup - điều này dễ hơn rất nhiều đối với EXE hơn là cho các DLL. –