请问
EWX_FORCE
是用来关闭计算机还是注销?
如果是关闭的话,WIN2000下的权限应该怎么改?

解决方案 »

  1.   

    ewx_force不是用来关闭,使说明关闭的"强度",就是说强行关闭,强行终止所有进程。
      

  2.   

    那如果想强行关机应该怎么用呢?
    我在2000下得到了权限后使用ewx_force作为参数
    他就会注销!
      

  3.   

    设置权限
    function SetPrivilege(sPrivilegeName:string;bEnabled:boolean):boolean;
    var
      TP,TPPre:TTokenPrivileges;
      Token:THandle;
      dwLength:DWORD;
    begin
      result := false;
      OpenProcessToken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,Token);
      try
      TP.PrivilegeCount := 1;
      if LookupPrivilegeValue(nil,PChar(sPrivilegeName),TP.Privileges[0].LUID) then
      begin
        if bEnabled then
          TP.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED
        else
          TP.Privileges[0].Attributes := 0;
        dwLength := 0;
        Result := AdjustTokenPrivileges(Token,false,TP,sizeof(TPPre),TPPre,dwLength);
      end;
      finally
        CloseHandle(Token);
      end;
    end;
    调用:
        SetPrivilege('SeShutdownPrivilege',true);
        ExitWindowsEx(EWX_SHUTDOWN or EWX_FORCE or EWX_POWEROFF,0);
      

  4.   

    我没说清楚
    权限我设置好了用EWX_POWEROFF作参数也是可以关机的,
    但是用EWX_FORCE就会注销!
    ....
      

  5.   

    EWX_FORCE只是强行关闭程序的。
    我这用的没问题呀