首頁 >後端開發 >C++ >如何確定 C# 進程是 32 位元還是 64 位元?

如何確定 C# 進程是 32 位元還是 64 位元?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-05 14:52:40442瀏覽

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

確定進程的位數

在C# 中,確定特定進程是在32 位元模式還是64 位元模式下運作是透過各各種方法實作。

IntPtr Size檢查

最簡單的方法涉及檢查IntPtr 資料類型的大小:

if (IntPtr.Size == 4)
{
    // 32-bit process
}
else if (IntPtr.Size == 8)
{
    // 64-bit process
}

WOW64 檢查

確定是否有其他進程在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 導入:

以上是如何確定 C# 進程是 32 位元還是 64 位元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn