implemented wxIsDebuggerRunning() for Win32

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31296 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2005-01-08 17:44:46 +00:00
parent 44c5573d2e
commit c50a4038e3
3 changed files with 29 additions and 9 deletions

View File

@ -4213,11 +4213,10 @@ In release mode this function does nothing.
\func{bool}{wxIsDebuggerRunning}{\void} \func{bool}{wxIsDebuggerRunning}{\void}
Returns {\tt true} if the program is running under debugger, {\tt false} Returns \true if the program is running under debugger, \false otherwise.
otherwise.
Please note that this function is currently only implemented for Mac builds Please note that this function is currently only implemented for Win32 and Mac
using CodeWarrior and always returns {\tt false} elsewhere. builds using CodeWarrior and always returns \false elsewhere.

View File

@ -233,12 +233,14 @@
/* other miscellaneous debugger-related functions */ /* other miscellaneous debugger-related functions */
/* ---------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------------- */
/* return true if we're running under debugger */ /*
/* */ Return true if we're running under debugger.
/* currently this only really works under Mac in CodeWarrior builds, it always */
/* returns false otherwise */ Currently this only really works under Win32 and Mac in CodeWarrior builds,
it always returns false in other cases.
*/
#ifdef __cplusplus #ifdef __cplusplus
#ifdef __WXMAC__ #if defined(__WXMAC__) || defined(__WXMSW__)
extern bool WXDLLIMPEXP_BASE wxIsDebuggerRunning(); extern bool WXDLLIMPEXP_BASE wxIsDebuggerRunning();
#else /* !Mac */ #else /* !Mac */
inline bool wxIsDebuggerRunning() { return false; } inline bool wxIsDebuggerRunning() { return false; }

View File

@ -1036,6 +1036,25 @@ void wxBell()
::MessageBeep((UINT)-1); // default sound ::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 wxGetOsDescription()
{ {
wxString str; wxString str;