Как определить пользовательскую ОС - PullRequest
1 голос
/ 09 февраля 2012

Я пишу приложение, в котором мне нужно создать журнал, для этого я должен определить ОС, которую использует пользователь. В основном я делаю это из проверки версии ОС, но проблема заключается в том, что 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 + ")");
}

1 Ответ

1 голос
/ 09 февраля 2012

Возможно, вы могли бы прочитать это сообщение о стеке Определить версию Windows в .net , или эта статья может помочь вам http://andrewensley.com/2009/06/c-detect-windows-os-part-1/

С наилучшими пожеланиями

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...