// shouldn't use winsock.dll (a.k.a. ws2_32.dll) at all so only use this
// code if we link with it anyhow
#if wxUSE_SOCKETS
+
WSADATA wsa;
if ( WSAStartup(MAKEWORD(1, 1), &wsa) == 0 )
{
return TRUE;
}
}
+
#endif // wxUSE_SOCKETS
#endif // Win32
// process management
// ----------------------------------------------------------------------------
-#ifdef __WIN32__
-
// structure used to pass parameters from wxKill() to wxEnumFindByPidProc()
struct wxFindByPidParams
{
return TRUE;
}
-#endif // __WIN32__
-
int wxKill(long pid, wxSignal sig, wxKillError *krc)
{
-#ifdef __WIN32__
// get the process handle to operate on
HANDLE hProcess = ::OpenProcess(SYNCHRONIZE |
PROCESS_TERMINATE |
// the return code is the same as from Unix kill(): 0 if killed
// successfully or -1 on error
- if ( sig == wxSIGNONE )
- {
- if ( ok && rc == STILL_ACTIVE )
- {
- // there is such process => success
- return 0;
- }
- }
- else // not SIGNONE
+ //
+ // be careful to interpret rc correctly: for wxSIGNONE we return success if
+ // the process exists, for all the other sig values -- if it doesn't
+ if ( ok &&
+ ((sig == wxSIGNONE) == (rc == STILL_ACTIVE)) )
{
- if ( ok && rc != STILL_ACTIVE )
+ if ( krc )
{
- // killed => success
- return 0;
+ *krc = wxKILL_OK;
}
+
+ return 0;
}
-#else // Win16
- wxFAIL_MSG( _T("not implemented") );
-#endif // Win32/Win16
// error
return -1;
int wxGetOsVersion(int *majorVsn, int *minorVsn)
{
-#if defined(__WIN32__) && !defined(__SC__)
+#if defined(__WIN32__)
static int ver = -1, major = -1, minor = -1;
if ( ver == -1 )
static HCURSOR gs_wxBusyCursorOld = 0; // old cursor
static int gs_wxBusyCursorCount = 0;
+#ifdef __DIGITALMARS__
+extern "C" HCURSOR wxGetCurrentBusyCursor()
+#else
extern HCURSOR wxGetCurrentBusyCursor()
+#endif
{
return gs_wxBusyCursor;
}