在98下如何设定关机顺序??在先等,立马结。

解决方案 »

  1.   

    这样进行关机
     SettingPrivileges();
     ExitWindowsEx(EWX_SHUTDOWN|EWX_POWEROFF|EWX_FORCE,0); SettingPrivileges()函数如下:
    BOOL CShutDownDlg::SettingPrivileges()
    {
    HANDLE hToken; 
    TOKEN_PRIVILEGES tkp; 

    HANDLE hProcess = GetCurrentProcess();
    if (!hProcess)
    return FALSE;

    // Get a token for this process. 
    if (!OpenProcessToken(hProcess, 
            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. 
    DWORD dwError = GetLastError();
    if (dwError != ERROR_SUCCESS) return FALSE;

    return TRUE;
    }
      

  2.   

    比方说有两个进程:a,b.
    我想控制先启动b, 再启动a.如何做呢?
      

  3.   

    比方说有两个进程:a,b.
    我想控制先关闭b, 再关闭a.如何做呢?
      

  4.   

    CreateProcess(a);
    CreateProcess(b);
    这样不行吗?