X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4c51a665c649f7579fb39e62070cef4f66b3210d..ee3de647ffd5891138864d032bc0f2bd5a130ef0:/src/msw/utils.cpp diff --git a/src/msw/utils.cpp b/src/msw/utils.cpp index a002517d25..0610186a21 100644 --- a/src/msw/utils.cpp +++ b/src/msw/utils.cpp @@ -4,7 +4,6 @@ // Author: Julian Smart // Modified by: // Created: 04/01/98 -// RCS-ID: $Id$ // Copyright: (c) Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -41,6 +40,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__) @@ -59,9 +59,7 @@ #if !defined(__GNUWIN32__) && !defined(__WXMICROWIN__) && !defined(__WXWINCE__) #include - #ifndef __MWERKS__ - #include - #endif + #include #endif //GNUWIN32 #if defined(__CYGWIN__) @@ -142,7 +140,7 @@ bool wxGetHostName(wxChar *buf, int maxSize) !regKey.QueryValue(wxT("Name"), hostName) ) return false; - wxStrlcpy(buf, hostName.wx_str(), maxSize); + wxStrlcpy(buf, hostName.t_str(), maxSize); #else // !__WXWINCE__ DWORD nSize = maxSize; if ( !::GetComputerName(buf, &nSize) ) @@ -637,7 +635,8 @@ bool wxDoSetEnv(const wxString& var, const wxChar *value) envstr += '='; if ( value ) envstr += value; - _tputenv(envstr.t_str()); + if ( _tputenv(envstr.t_str()) != 0 ) + return false; #else // other compiler if ( !::SetEnvironmentVariable(var.t_str(), value) ) { @@ -1077,12 +1076,6 @@ unsigned long wxGetProcessId() return ::GetCurrentProcessId(); } -// Emit a beeeeeep -void wxBell() -{ - ::MessageBeep((UINT)-1); // default sound -} - bool wxIsDebuggerRunning() { #if wxUSE_DYNLIB_CLASS @@ -1110,14 +1103,14 @@ bool wxLoadUserResource(const void **outData, size_t *outLen, const wxString& resourceName, - const wxString& resourceType, + const wxChar* resourceType, WXHINSTANCE instance) { wxCHECK_MSG( outData && outLen, false, "output pointers can't be NULL" ); HRSRC hResource = ::FindResource(instance, - resourceName.wx_str(), - resourceType.wx_str()); + resourceName.t_str(), + resourceType); if ( !hResource ) return false; @@ -1146,7 +1139,7 @@ wxLoadUserResource(const void **outData, char * wxLoadUserResource(const wxString& resourceName, - const wxString& resourceType, + const wxChar* resourceType, int* pLen, WXHINSTANCE instance) { @@ -1274,8 +1267,7 @@ wxString wxGetOsDescription() switch ( info.dwMinorVersion ) { case 0: - str.Printf(_("Windows 2000 (build %lu"), - info.dwBuildNumber); + str = _("Windows 2000"); break; case 2: @@ -1284,36 +1276,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 +1717,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) {