在.NET中检测Windows 7版本

时间:2015-12-11 16:59:12

标签: .net iis windows-7

如何在.NET中检测Windows 7(或更高版本)中的版本?

在IIS中,Windows身份验证不是Home Premium的选项(在站点身份验证下),但它适用于Ultimate。所以我需要检查版本,以便知道何时为网站使用基本身份验证。下面的代码允许您检测操作系统版本。该对象可以检测到版本吗?或者我应该使用不同的命令?

OperatingSystem osversion = System.Environment.OSVersion;

Windows版本:

Detect Windows version in .net

我找到了这篇文章,但我正试图围绕C ++部分。

http://www.codeguru.com/cpp/misc/misc/system/article.php/c8973/Determine-Windows-Version-and-Edition.htm

1 个答案:

答案 0 :(得分:0)

请参阅GetProductInfo()文档:

https://msdn.microsoft.com/en-us/library/windows/desktop/ms724358(v=vs.85).aspx

C#源代码:

    using System.Runtime.InteropServices;

    [DllImport("Kernel32.dll")]
    internal static extern bool GetProductInfo(
        int osMajorVersion,
        int osMinorVersion,
        int spMajorVersion,
        int spMinorVersion,
        out int edition);

        int edition = -1;

        if (GetProductInfo(6, 0, 0, 0, out edition))
        {
            Console.WriteLine("Edition: " + edition);
        }

C ++等价物:

    //BOOL WINAPI GetProductInfo(  
    //_In_  DWORD  dwOSMajorVersion,
    //_In_  DWORD  dwOSMinorVersion,
    //_In_  DWORD  dwSpMajorVersion,
    //_In_  DWORD  dwSpMinorVersion,
    //_Out_ PDWORD pdwReturnedProductType
    //);