DELPHI中调用API函数ExitWindowsEX可以实现系统的关机,注销,和重启


本文整理自网络,侵删。

 关机:ExitWindowsEx(EWX_POWEROFF or EWD SHUTDOWN,0)

注销:ExitWindowsEx(EWX_LOGOFF,0)

重启:ExitWindowsEx(EWX_REBOOT,0)

不过函数ExitWindowsEx在完成系统的关机、注销、重启动作之前必须要使应用程序获得系统相应的权限。

function GetPrivilege(PrivilegeType: PChar): longbool; stdcall;//这个是修改权限的函数
var
hToken : THandle;
tkp : TTokenPrivileges;
a: DWORD;
ll:longbool;
begin
OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken);
tkp.PrivilegeCount := 1;
ll:=LookupPrivilegeValue( nil,PrivilegeType , tkp.Privileges[ 0 ].Luid );
if PrivilegeType='SeDebugPrivilege' then
begin
ll:=LookupPrivilegeValue( nil,PrivilegeType , tkp.Privileges[ 0 ].Luid );
tkp.Privileges[ 0 ].Attributes := SE_PRIVILEGE_ENABLED;
end;
a:=0;
AdjustTokenPrivileges( hToken, False, tkp, SizeOf( TTokenPrivileges ), nil, a);
CloseHandle(hToken);
end;

调用:
GetPrivilege('SeShutdownPrivilege');
获取这个权限你就可以调用关机函数了

相关阅读 >>

Delphi 错误no ftp list parsers have been registered

Delphi 泛型,存放n张图片

Delphi 游戏测试call

Delphi firemonkey的屏幕分辨率hdpi、mdpi、ldpi的差别

Delphi xe7 ios 取得系统字型名称

Delphi xe5 重启 关闭 windows 8

Delphi 几个实用的html解析函数

Delphi 实现简易语音发音(基于tts方式)

Delphi 实现类似windows的查找功能-遍历整个硬盘目录

Delphi datasnap http用法注意事项

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...