Я пишу приложение, в котором мне нужно создать журнал, для этого я должен определить ОС, которую использует пользователь. В основном я делаю это из проверки версии ОС, но проблема заключается в том, что Windows Vista и Windows Server 2008 имеют одинаковую версия т.е. 6.0. Так что есть любой другой способ найти ОС пользователя.
if (OSInfo.dwMajorVersion == 5 && OSInfo.dwMinorVersion == 1)
{
s.AppendLine("OS Version :" + " " + "Windows XP " + OSInfo.szCSDVersion + " " + "(Build Number : " + OSInfo.dwBuildNumber + ")");
}
else if (OSInfo.dwMajorVersion == 6 && OSInfo.dwMinorVersion == 0 && OSInfo.dwOSVersionInfoSize == 152 ) //&& OSInfo.wProductType != VER_NT_WORKSTATION)
{
s.AppendLine("OS Version :" + " " + "Windows VISTA/Windows Server 2008 " + OSInfo.szCSDVersion + " " + "(Build Number : " + OSInfo.dwBuildNumber + ")");
}
else if (OSInfo.dwMajorVersion == 6 && OSInfo.dwMinorVersion == 1)
{
s.AppendLine("OS Version :" + " " + "Windows7 " + OSInfo.szCSDVersion + " " + "(Build Number :" + OSInfo.dwBuildNumber + ")");
}
else if (OSInfo.dwMajorVersion == 5 && OSInfo.dwMinorVersion == 2)
{
s.AppendLine("OS Version :" + " " + "Windows Server 2003 " + OSInfo.szCSDVersion + " " + "(Build Number :" + OSInfo.dwBuildNumber + ")");
}