1

特定の実行可能ファイルが 64 ビットか 32 ビットかを判断するソリューションを探しています。

テストされる実行可能ファイルは、.NET ベースである場合とそうでない場合があります。

複数の異なるテクニックを見てきましたが、何が違うのかわかりません。

リストされているのを見たテクニック:

それを行う最も堅牢な方法は何ですか?

4

1 に答える 1

1

私が知っている方法は 2 つあります
。 1. 実行時にチェックする必要がある場合は、IsWow64Process を使用します。 http://msdn.microsoft.com/en-us/library/windows/desktop/ms684139(v=vs.85).aspx?ppud=4
x86 プロセスの場合 - true を返し、それ以外の場合 - false を返します。
2. ランタイム以外でチェックする必要がある場合は、EXE PE 形式を調べてください。
NT ヘッダー -> オプション ヘッダー -> Magic == IMAGE_NT_OPTIONAL_HDR64_MAGIC の場合、x64 exe/dll です。

于 2012-10-31T12:01:59.767 に答える