|
-
May 19th, 1999, 06:56 AM
#1
How to shut down Windows NT
Hi,
Does anyone know how I could use the ExitWindowsEx function in Windows NT 4?
Any sample code would be great.
Thanks,
Manteau
-
May 19th, 1999, 08:22 AM
#2
Re: How to shut down Windows NT
MSDN article Q161136 has sample code. It's VB, but it's easy to adopt.
-
May 19th, 1999, 10:14 AM
#3
Re: How to shut down Windows NT
void ForceWindowsReboot()
{
CWatchDogApp* app = (CWatchDogApp*) AfxGetApp();
app->WriteEventLogMessage(EVMSG_APPLICATION_REBOOT);
Sleep(1000);
HANDLE hToken;
TOKEN_PRIVILEGES tkp; // Get a token for this process.
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
return;
LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1; // one privilege to set
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
// Get the shutdown privilege for this process.
AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0);
// Cannot test the return value of AdjustTokenPrivileges.
if (GetLastError() != ERROR_SUCCESS)
return;
// Shut down the system and force all applications to close.
ExitWindowsEx(EWX_REBOOT | EWX_FORCE, 0);
}
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|