谢谢。

解决方案 »

  1.   

    win98关机你可以用ExitWindows和ExitWindowsex但是在win2000以上,你需要先得到系统权限 HANDLE hToken; 
    TOKEN_PRIVILEGES tkp; 
     
    // Get a token for this process. 
     
    if ( !OpenProcessToken( GetCurrentProcess(), 
    TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken) ) 
    return FALSE; 
     
    // Get the LUID for the shutdown privilege. 
     
    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 FALSE; 
     
    // Shut down the system and force all applications to close. 
     
    if ( !ExitWindowsEx( EWX_POWEROFF | EWX_FORCE, 0) ) 
    return FALSE;
    return TRUE;