CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 3 of 3
  1. #1
    Join Date
    May 1999
    Posts
    3

    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


  2. #2
    Join Date
    May 1999
    Posts
    3,332

    Re: How to shut down Windows NT

    MSDN article Q161136 has sample code. It's VB, but it's easy to adopt.


  3. #3
    Guest

    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
  •  





Click Here to Expand Forum to Full Width

Featured