return wxExecute(cmd, wxEXEC_SYNC) == 0;
}
-// Shutdown or reboot the PC
+// Shutdown or reboot the PC
bool wxShutdown(wxShutdownFlags wFlags)
{
#ifdef __WIN32__
if ( wxGetOsVersion(NULL, NULL) == wxWINDOWS_NT ) // if is NT or 2K
{
- // Get a token for this process.
- HANDLE hToken;
+ // Get a token for this process.
+ HANDLE hToken;
bOK = ::OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,
&hToken) != 0;
if ( bOK )
{
- TOKEN_PRIVILEGES tkp;
+ TOKEN_PRIVILEGES tkp;
- // Get the LUID for the shutdown privilege.
+ // Get the LUID for the shutdown privilege.
::LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,
- &tkp.Privileges[0].Luid);
+ &tkp.Privileges[0].Luid);
- tkp.PrivilegeCount = 1; // one privilege to set
- tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
+ tkp.PrivilegeCount = 1; // one privilege to set
+ tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
- // Get the shutdown privilege for this process.
+ // Get the shutdown privilege for this process.
::AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
- (PTOKEN_PRIVILEGES)NULL, 0);
+ (PTOKEN_PRIVILEGES)NULL, 0);
- // Cannot test the return value of AdjustTokenPrivileges.
+ // Cannot test the return value of AdjustTokenPrivileges.
bOK = ::GetLastError() == ERROR_SUCCESS;
}
}
return FALSE;
}
- bOK = ::ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE | EWX_REBOOT, 0) != 0;
+ bOK = ::ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE | EWX_REBOOT, 0) != 0;
}
return bOK;
#else // !Win32
if (gs_inTimer)
return;
+ if (miliseconds <= 0)
+ return;
wxTheSleepTimer = new wxSleepTimer;
gs_inTimer = TRUE;
{
if (gs_inTimer)
return;
+ if (nSecs <= 0)
+ return;
wxTheSleepTimer = new wxSleepTimer;
gs_inTimer = TRUE;