【问题标题】:Detect Windows 7 edition in .NET在 .NET 中检测 Windows 7 版本
【发布时间】:2016-03-17 16:06:33
【问题描述】:

如何在 .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

【问题讨论】:

  • 或者这可能是“产品类型”,而不是“套件掩码”.. 仍然无法找到它

标签: .net iis windows-7


【解决方案1】:

参见 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
    //);

【讨论】:

猜你喜欢
  • 2011-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-15
  • 2013-10-24
相关资源
最近更新 更多