如何在.NET中检测Windows 7(或更高版本)中的版本?
在IIS中,Windows身份验证不是Home Premium的选项(在站点身份验证下),但它适用于Ultimate。所以我需要检查版本,以便知道何时为网站使用基本身份验证。下面的代码允许您检测操作系统版本。该对象可以检测到版本吗?或者我应该使用不同的命令?
OperatingSystem osversion = System.Environment.OSVersion;
Windows版本:
Detect Windows version in .net
我找到了这篇文章,但我正试图围绕C ++部分。
答案 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
//);