急,哥哥妹妹们快来啊,2000下怎么关机啊!

解决方案 »

  1.   

    你是说用程序关机吧?function TfrmShutDown.ShutDownSystem():BOOL;
    var
       hProcess,hAccessToken:THandle;
         LUID_AND_ATTRIBUTES:TLUIDAndAttributes;
            TOKEN_PRIVILEGES: TTokenPrivileges;
                BufferIsNull:DWORD;
    Const
         SE_SHUTDOWN_NAME='SeShutdownPrivilege';
    begin
       hProcess:=GetCurrentProcess();
       OpenProcessToken(hprocess,TOKEN_ADJUST_PRIVILEGES+TOKEN_QUERY,hAccessToken);
       LookupPrivilegeValue(Nil,SE_SHUTDOWN_NAME,LUID_AND_ATTRIBUTES.Luid);
       LUID_AND_ATTRIBUTES.Attributes:=SE_PRIVILEGE_ENABLED;
       TOKEN_PRIVILEGES.PrivilegeCount:=1;
       TOKEN_PRIVILEGES.Privileges[0]:=LUID_AND_ATTRIBUTES;
       BufferIsNull:=0;
       AdjustTokenPrivileges(hAccessToken,False,TOKEN_PRIVILEGES,sizeof(TOKEN_PRIVILEGES),Nil,BufferIsNull);
       ExitWindowsEx(EWX_POWEROFF+EWX_FORCE, 0);
       ShutDownSystem:=True;
    end;给分.