全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:972
推到 Plurk!
推到 Facebook!

win2000 professional 的关机问题

缺席
cxg
中階會員


發表:116
回覆:192
積分:76
註冊:2004-02-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-29 12:06:04 IP:222.35.xxx.xxx 未訂閱
function SetPrivilege(sPrivilegeName : string; bEnabled : boolean ): boolean; var TPPrev, TP : TTokenPrivileges; Token : THandle; dwRetLen : DWord; begin Result := False; OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, Token); //handle to process TP.PrivilegeCount := 1; if( LookupPrivilegeValue( Nil, PChar( sPrivilegeName ),TP.Privileges[ 0 ].LUID ))then begin if( bEnabled )then //Give this privileges begin TP.Privileges[ 0 ].Attributes := SE_PRIVILEGE_ENABLED; end else begin //NOT Give this privileges TP.Privileges[ 0 ].Attributes := 0; end; dwRetLen := 0; Result := AdjustTokenPrivileges(Token, False, TP, SizeOf( TPPrev ), TPPrev, dwRetLen); end; CloseHandle( Token ); end; function WinExitInNT( iFlags : integer ) : boolean; begin Result := True; if( SetPrivilege( 'SeShutdownPrivilege', True ) )then begin if( not ExitWindowsEx( iFlags, 0 ) )then begin Result:= False; end; SetPrivilege( 'SeShutdownPrivilege', False ) end else begin Result := False; end; end; 然后我用 WinExitInNT( EWX_POWEROFF); 来关闭计算机,机器有时能关闭,有时不能关闭。请问这有什么原因吗?谢谢。
cxg
中階會員


發表:116
回覆:192
積分:76
註冊:2004-02-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-29 12:16:49 IP:222.35.xxx.xxx 未訂閱
另外说明一下,我已安装了pack4
cxg
中階會員


發表:116
回覆:192
積分:76
註冊:2004-02-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-29 18:41:38 IP:222.35.xxx.xxx 未訂閱
我已找到问题了只要用 WinExitInNT( EWX_FORCE OR EWX_POWEROFF); 就可以了。
系統時間:2024-11-25 22:25:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!