如何在XP下重启或关闭计算机?
解决方案 »
- delphi 中使用 like语句,请大家帮我看看哪有问题呀!!
- 如何在delphi运行界面中弹出ODBC的设置界面?在线等待!
- How to be a programer?大家请进
- 怎么实现QQ里好友太多时,一页显示不完,则出现下拉箭头
- 请问Delphi可以识别的文本数据表的格式?
- 怎样截断事务日志?
- 哎,老大们,怎么样防止创建窗体的多个实例啊??
- 谁能告诉我获得一个文本文件的大小的方法?急!
- 怎么用Delphi把Access数据庫导入Oracle中
- 怎样定制系统菜单,比如加上一个“about”选项?
- 谁能给我一些delphi编写的病毒的例子啊,谢谢啦
- 关于hextobin函数的问题请教(急,在线等待)
ExitWindowsEX(EWX_SHUTDOWN OR EWX_POWEROFF,0);//关机
取得权限
procedure TForm1.shutdown;
var
hdlProcessHandle : Cardinal;
hdlTokenHandle : Cardinal;
tmpLuid : Int64;
// tkpPrivilegeCount : Int64;
tkp : TOKEN_PRIVILEGES;
tkpNewButIgnored : TOKEN_PRIVILEGES;
lBufferNeeded : Cardinal;
Privilege : array[0..0] of _LUID_AND_ATTRIBUTES;begin
hdlProcessHandle := GetCurrentProcess;
OpenProcessToken(hdlProcessHandle,(TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY),
hdlTokenHandle);
// Get the LUID for shutdown privilege.
LookupPrivilegeValue('', 'SeShutdownPrivilege', tmpLuid);
Privilege[0].Luid := tmpLuid;
Privilege[0].Attributes := SE_PRIVILEGE_ENABLED;
tkp.PrivilegeCount := 1; // One privilege to set
tkp.Privileges[0] := Privilege[0];
// Enable the shutdown privilege in the access token of this
// process.
AdjustTokenPrivileges(hdlTokenHandle,False,tkp,Sizeof(tkpNewButIgnored),
tkpNewButIgnored,lBufferNeeded);end;