X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1b2f7b6d75886325b818d46b8c6250b4d6431ccc..beee38cb41aa2ce4fbe9052bf4f70e1be184b553:/src/msw/utils.cpp diff --git a/src/msw/utils.cpp b/src/msw/utils.cpp index e7445c3fcb..703a65ae20 100644 --- a/src/msw/utils.cpp +++ b/src/msw/utils.cpp @@ -41,6 +41,7 @@ #include "wx/confbase.h" // for wxExpandEnvVars() #include "wx/msw/private.h" // includes +#include "wx/msw/private/hiddenwin.h" #include "wx/msw/missing.h" // for CHARSET_HANGUL #if defined(__CYGWIN__) @@ -303,7 +304,7 @@ bool wxGetUserName(wxChar *buf, int maxSize) // Get the computer name of a DC for the domain. if ( NetGetDCName( NULL, wszDomain, &ComputerName ) != NERR_Success ) { - wxLogError(wxT("Can not find domain controller")); + wxLogError(wxT("Cannot find domain controller")); goto error; } @@ -1274,8 +1275,7 @@ wxString wxGetOsDescription() switch ( info.dwMinorVersion ) { case 0: - str.Printf(_("Windows 2000 (build %lu"), - info.dwBuildNumber); + str = _("Windows 2000"); break; case 2: @@ -1284,36 +1284,44 @@ wxString wxGetOsDescription() // 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; @@ -1717,18 +1725,6 @@ extern long wxCharsetToCodepage(const char *name) #endif // wxUSE_FONTMAP/!wxUSE_FONTMAP -/* - Creates a hidden window with supplied window proc registering the class for - it if necesssary (i.e. the first time only). Caller is responsible for - destroying the window and unregistering the class (note that this must be - done because wxWidgets may be used as a DLL and so may be loaded/unloaded - multiple times into/from the same process so we cna't rely on automatic - Windows class unregistration). - - pclassname is a pointer to a caller stored classname, which must initially be - NULL. classname is the desired wndclass classname. If function successfully - registers the class, pclassname will be set to classname. - */ extern "C" WXDLLIMPEXP_BASE HWND wxCreateHiddenWindow(LPCTSTR *pclassname, LPCTSTR classname, WNDPROC wndproc) {