ExitWindowsSex(EWX_POWEROFF,0)

解决方案 »

  1.   

    试试这人
    ExitWindowsEx(EWX_FORCE + EWX_SHUTDOWN, 0);
      

  2.   

    2000/xp等OS下需要权限,调整关机权限代码可参见超级猛料
      

  3.   

    ExitWindowxEx(EWX_SHUTDOWN,EWX_FORCE);
    98下可以在2000 和XP下要用到一个取得管理员要权限的API,
    可我记不得了
      

  4.   

    procedure TForm1.CloseComputer();
    Var
      st : SYSTEMTIME;
      hToken : THANDLE;
      tkp : TOKEN_PRIVILEGES;
      rr : Dword;
    Begin
            OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES or  TOKEN_QUERY,hToken);
            LookupPrivilegeValue(nil,'SeShutdownPrivilege',tkp.Privileges[0].Luid);
            // 设定权限为1
            tkp.PrivilegeCount := 1;
            tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
            // 得到权限
            AdjustTokenPrivileges(hToken, FALSE, tkp, 0,nil,rr);
            // 关闭计算机
            ExitWindowsEx(EWX_FORCE + EWX_SHUTDOWN + EWX_POWEROFF, 0);
    End;