Je dois savoir si un fichier .exe donné est 32 bits ou 64 bits, avant de le lancer. IsWow64Process
est inutile ici, car il n'y a pas encore de processus. Y a-t-il une autre API qui me donnera cette information?Déterminer par programme si natif .exe est 32 bits ou 64 bits
Répondre
Si vous voulez vraiment faire cela uniquement pour les fichiers EXE et non DLL, utilisez simplement GetBinaryType.
Détermine si un fichier est un fichier exécutable (.exe) , et si oui, qui sous-système exécute le fichier exécutable .
Oui, c'est * exactement * ce que je veux, et c'est beaucoup plus facile que de lire l'en-tête de PE moi-même, qui est ce que le autres réponses suggérées. Merci. –
Vous avez de la chance, vous avez juste besoin d'EXEs :-) Ces contorsions complexes semblent nécessaires pour faire cela pour les DLL. Un écart dans Win32, imo. –
Cette information est disponible dans l'un des en-têtes du PE File file format (le format utilisé pour les exe et dll). Les informations contenues dans ces en-têtes peuvent être extraites par programmation (elles sont à un décalage spécifié) ou plus sûrement interrogées via l'API Win32.
D'accord, Liviu a obtenu le bon pointeur pour vous.
duplication possible de [Comment trouver si la DLL native est compilée en tant que x64 ou x86?] (Http://stackoverflow.com/questions/480696/how-to-find-if-native-dll-is- compilé-comme-x64-ou-x86) –
En fait, je retire le dup - c'est beaucoup plus facile pour les EXE que pour les DLL, semble-t-il. –