X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fa78de8249892133e32b988ae145868a833336e3..4f9cd1cb7f5ec341d322a4d16d933560699bde1f:/src/msw/utils.cpp diff --git a/src/msw/utils.cpp b/src/msw/utils.cpp index f174df6fd3..d2238eaddb 100644 --- a/src/msw/utils.cpp +++ b/src/msw/utils.cpp @@ -32,6 +32,7 @@ #endif //WX_PRECOMP #include "wx/apptrait.h" +#include "wx/dynlib.h" #include "wx/dynload.h" #include "wx/confbase.h" // for wxExpandEnvVars() @@ -894,7 +895,8 @@ int wxKillAllChildren(long pid, wxSignal sig, wxKillError *krc) } //Fill in the size of the structure before using it. - PROCESSENTRY32 pe = {0}; + PROCESSENTRY32 pe; + wxZeroMemory(pe); pe.dwSize = sizeof(PROCESSENTRY32); // Walk the snapshot of the processes, and for each process, @@ -1005,6 +1007,18 @@ bool wxShutdown(wxShutdownFlags wFlags) #endif // Win32/16 } +wxPowerType wxGetPowerType() +{ + // TODO + return wxPOWER_UNKNOWN; +} + +wxBatteryState wxGetBatteryState() +{ + // TODO + return wxBATTERY_UNKNOWN_STATE; +} + // ---------------------------------------------------------------------------- // misc // ---------------------------------------------------------------------------- @@ -1036,6 +1050,25 @@ void wxBell() ::MessageBeep((UINT)-1); // default sound } +bool wxIsDebuggerRunning() +{ + // IsDebuggerPresent() is not available under Win95, so load it dynamically + wxDynamicLibrary dll(_T("kernel32.dll"), wxDL_VERBATIM); + + typedef BOOL (WINAPI *IsDebuggerPresent_t)(); + if ( !dll.HasSymbol(_T("IsDebuggerPresent")) ) + { + // no way to know, assume no + return false; + } + + return (*(IsDebuggerPresent_t)dll.GetSymbol(_T("IsDebuggerPresent")))() != 0; +} + +// ---------------------------------------------------------------------------- +// OS version +// ---------------------------------------------------------------------------- + wxString wxGetOsDescription() { wxString str; @@ -1285,9 +1318,9 @@ extern WXDLLIMPEXP_BASE long wxEncodingToCodepage(wxFontEncoding encoding) // There don't seem to be symbolic names for // these under Windows so I just copied the // values from MSDN. - + unsigned int ret; - + switch (encoding) { case wxFONTENCODING_ISO8859_1: ret = 28591; break; @@ -1302,7 +1335,7 @@ extern WXDLLIMPEXP_BASE long wxEncodingToCodepage(wxFontEncoding encoding) case wxFONTENCODING_ISO8859_10: ret = 28600; break; case wxFONTENCODING_ISO8859_11: ret = 28601; break; // case wxFONTENCODING_ISO8859_12, // doesn't exist currently, but put it - case wxFONTENCODING_ISO8859_13: ret = 28603; break; + case wxFONTENCODING_ISO8859_13: ret = 28603; break; case wxFONTENCODING_ISO8859_14: ret = 28604; break; case wxFONTENCODING_ISO8859_15: ret = 28605; break; case wxFONTENCODING_KOI8: ret = 20866; break; @@ -1344,10 +1377,10 @@ extern WXDLLIMPEXP_BASE long wxEncodingToCodepage(wxFontEncoding encoding) case wxFONTENCODING_UTF8: ret = 65001; break; default: return -1; } - + if (::IsValidCodePage(ret) == 0) return -1; - + CPINFO info; if (::GetCPInfo(ret, &info) == 0) return -1;