注销 关机 重启

EWX_FORCE            强迫中止没有响应的进程  
EWX_LOGOFF          中止进程,然后注销  
EWX_SHUTDOWN    关掉系统电源(如果可能的话,ATX电源就可以)  
EWX_REBOOT          重新引导系统  
EWX_SHUTDOWN    关闭系统

 

 

 

1.WIN 9X实现 注销 关机 重启------------------------------------------------------------------------------------------

1.--定义常数

const ­

EWX_LOGOFF=0; //重新启动计算机并切换到MS-DOS方式 ­

EWX_SHUTDOWN=1;//关闭计算机 ­

EWX_REBOOT=2; //重新启动计算机 ­

EWX_FORCE=4; //关闭所有程序并以其他用户身份登录 ­

2.--执行

ExitWindowsEx(How,0); ­

2.WIN 2K实现- 注销 关机 重启-------------------------------------------------------------------------------------------

1.--关机

var ­

hToken:THandle; ­

tkp : TOKEN_PRIVILEGES; ­

ReturnLength : DWord; ­

begin ­

if (not OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES or TOKEN_ALL_ACCESS or TOKEN_QUERY, hToken))then ­

begin ­

application.Terminate; ­

end; ­

LookupPrivilegeValue(nil,'SeShutdownPrivilege',tkp.Privileges[0].Luid); ­

tkp.PrivilegeCount := 1; ­

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

ReturnLength :=0; ­

AdjustTokenPrivileges(hToken, FALSE, tkp, 0,nil,ReturnLength); ­

if (GetLastError() <> ERROR_SUCCESS) then ­

begin ­

application.Terminate; ­

end; ­

if (not ExitWindowsEx(EWX_POWEROFF, 0)) then ­

begin ­

application.Terminate; ­

end; ­

end; ­

end. ­

2.--重启

var ­

hToken:THandle; ­

tkp : TOKEN_PRIVILEGES; ­

ReturnLength : DWord; ­

begin ­

if (not OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES or TOKEN_ALL_ACCESS or TOKEN_QUERY, hToken))then ­

begin ­

application.Terminate; ­

end; ­

LookupPrivilegeValue(nil,'SeShutdownPrivilege',tkp.Privileges[0].Luid); ­

tkp.PrivilegeCount := 1; ­

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

ReturnLength :=0; ­

AdjustTokenPrivileges(hToken, FALSE, tkp, 0,nil,ReturnLength); ­

if (GetLastError() <> ERROR_SUCCESS) then ­

begin ­

application.Terminate; ­

end; ­

if (not ExitWindowsEx(EWX_REBOOT, 0)) then ­

begin ­

application.Terminate;

end; ­

end; ­

end. ­

3.--注销­

exitwindowsex(ewx_force,0); //注销

关闭显示器 ­

SendMessage(Application.Handle, wm_SysCommand, SC_MonitorPower, 1) ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值