孤独的猫

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

procedure CloseWindow(Flag:integer);

var

hToken:Thandle;

tkp,tkDumb:TTokenPrivileges;

DoubInt:dword;

begin

if Win32PlatForm=VER_PLATFORM_WIN32_NT then

begin

FillChar(tkp,Sizeof(tkp),0);

if (OpenProcessToken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,hToken)) then

begin

tkp.PrivilegeCount:=1;

tkp.Privileges[0].Attributes :=SE_PRIVILEGE_ENABLED;

AdjustTokenPrivilege(hToken,False,tkp,sizeof(tkDumb),tkDumb,DumbInt);

end;

end;

if Flag=0 then

ExitWindewEx(Ewx_Reboot,0) //重启

else

ExitWindewEx(Ewx_SHUTDOWN,0); //关机

end;

posted on 2008-09-10 17:41  孤独的猫  阅读(211)  评论(0编辑  收藏  举报