很多资料上说要重启或关闭电脑可以使用ExitWindowsEx()这个API函数,可我用ExitWindowsExExit(ewx_logoff,0)能注销系统,但用WindowsExExit(ewx_reboot,0)和WindowsEx(ewx_shutdown,0)想重启和关闭电脑,都没有任何反应,在vb里有个要先获得某个权限的问题,不知道Delphi里要怎么样才能实现重启和关闭计算机,望赐教!多谢了!
解决方案 »
- 获得图像像素位函数GetDIBits参数怎么设置的
- 如何计算当前日期一个月前的日期是多少?急
- 问个简单问题!
- UDP组件组播数据完整性能够得到保证吗?
- 简单问题:用Tidftp控件上传数据怎样检验上传是否成功?
- 谁能告诉我关于查两个表的查询语句的写法。(不是一般的两个表字段合并)
- 如何用API来实现windows 2000 下如何自定义纸张大小?
- DBGrid添加列TColumn绑定表的值
- 关于t-sql的问题?我想把 建数据库的文件和程序一块发布。怎样用t-sql在。。。。看里面
- 在DELPHI中如何创建一文本文件?
- 修改自己的程序?!
- 用QUICKREP打印详细内容时怎么能动态设置打印行数!急!!!!!!!!!!!!!!
procedure ShutDown;
var
hProcess, hToken, lBufferNeeded: Cardinal;
tmpLuid: TLargeInteger;
tkp, tkp1: TOKEN_PRIVILEGES;
begin
hProcess := GetCurrentProcess;
OpenProcessToken(hProcess, (TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY), hToken);
LookupPrivilegeValue('', 'SeShutdownPrivilege', tmpLuid);
tkp.PrivilegeCount := 1;
tkp.Privileges[0].Luid := tmpLuid;
tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, False, tkp, sizeof(tkp1), tkp1, lBufferNeeded);
ExitWindowsEx(EWX_POWEROFF + EWX_FORCE, 0);
end;