在 .NET 中检测 Windows 7 版
Detect Windows 7 edition in .NET
如何在 .NET 中检测 Windows 7(或更高版本)中的版本?
在 IIS 中,Windows 身份验证不是家庭高级版的选项(在站点的身份验证下),但它是终极版的选项。所以我需要检查版本,以便知道何时对网站使用基本身份验证。下面的代码允许您检测 OS 版本。这个对象能检测到版本吗?或者我应该使用其他命令吗?
OperatingSystem osversion = System.Environment.OSVersion;
Windows 的版本:
Detect Windows version in .net
我找到了这篇文章,但我正在努力了解 C++ 部分。
参见 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
//);
如何在 .NET 中检测 Windows 7(或更高版本)中的版本?
在 IIS 中,Windows 身份验证不是家庭高级版的选项(在站点的身份验证下),但它是终极版的选项。所以我需要检查版本,以便知道何时对网站使用基本身份验证。下面的代码允许您检测 OS 版本。这个对象能检测到版本吗?或者我应该使用其他命令吗?
OperatingSystem osversion = System.Environment.OSVersion;
Windows 的版本:
Detect Windows version in .net
我找到了这篇文章,但我正在努力了解 C++ 部分。
参见 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
//);