switch ( info.dwMinorVersion )
{
case 0:
- str.Printf(_("Windows 2000 (build %lu"),
- info.dwBuildNumber);
+ str = _("Windows 2000");
break;
case 2:
// type to resolve this ambiguity
if ( wxIsWindowsServer() == 1 )
{
- str.Printf(_("Windows Server 2003 (build %lu"),
- info.dwBuildNumber);
+ str = _("Windows Server 2003");
break;
}
//else: must be XP, fall through
case 1:
- str.Printf(_("Windows XP (build %lu"),
- info.dwBuildNumber);
+ str = _("Windows XP");
break;
}
break;
case 6:
- if ( info.dwMinorVersion == 0 )
+ switch ( info.dwMinorVersion )
{
- str.Printf(_("Windows Vista (build %lu"),
- info.dwBuildNumber);
+ case 0:
+ str = wxIsWindowsServer() == 1
+ ? _("Windows Server 2008")
+ : _("Windows Vista");
+ break;
+
+ case 1:
+ str = wxIsWindowsServer() == 1
+ ? _("Windows Server 2008 R2")
+ : _("Windows 7");
+ break;
}
break;
}
if ( str.empty() )
{
- str.Printf(_("Windows NT %lu.%lu (build %lu"),
- info.dwMajorVersion,
- info.dwMinorVersion,
- info.dwBuildNumber);
+ str.Printf(_("Windows NT %lu.%lu"),
+ info.dwMajorVersion,
+ info.dwMinorVersion);
}
+ str << wxT(" (")
+ << wxString::Format(_("build %lu"), info.dwBuildNumber);
if ( !wxIsEmpty(info.szCSDVersion) )
{
str << wxT(", ") << info.szCSDVersion;