ホームページ > バックエンド開発 > C++ > C# プロセスが 32 ビットか 64 ビットかを判断するにはどうすればよいですか?

C# プロセスが 32 ビットか 64 ビットかを判断するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-05 14:52:40
オリジナル
442 人が閲覧しました

How Can I Determine if a C# Process is 32-bit or 64-bit?

プロセスのビット数の決定

C# では、特定のプロセスが 32 ビット モードで実行されているか、64 ビット モードで実行されているかを決定します。さまざまな方法で実現されます。

IntPtr サイズCheck

最も簡単な方法には、IntPtr データ型のサイズをチェックすることが含まれます。

if (IntPtr.Size == 4)
{
    // 32-bit process
}
else if (IntPtr.Size == 8)
{
    // 64-bit process
}
ログイン後にコピー

WOW64 Check

他のデータ型であるかどうかを確認します。プロセスが 64 ビット エミュレータ (WOW64) で実行されている場合は、次の点を考慮してください。コード:

private static bool IsWin64Emulator(this Process process)
{
    if ((Environment.OSVersion.Version.Major > 5) || ((Environment.OSVersion.Version.Major == 5) && (Environment.OSVersion.Version.Minor >= 1)))
    {
        bool retVal;
        return NativeMethods.IsWow64Process(process.Handle, out retVal) && retVal;
    }

    return false; // not on 64-bit Windows Emulator
}
ログイン後にコピー

ここで、NativeMethods.IsWow64Process は DLL インポートです:

[DllImport("kernel32.dll", SetLastError = true, CallingConvention = CallingConvention.Winapi)]
[return: MarshalAs(UnmanagedType.Bool)]
internal static extern bool IsWow64Process([In] IntPtr process, [Out] out bool wow64Process);
ログイン後にコピー

以上がC# プロセスが 32 ビットか 64 ビットかを判断するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート