运行程序,可以关闭windows(包括2000和XP)程序代码(急加上结)
解决方案 »
- 禁止窗体拖大拖小怎么设置啊
- 关于findwindowex的问题
- 强制类型转换,很是不明白,请高手指点!
- 我用ClientDataSet1连接的*.cds文件,离开Dephi环境怎么程序运行不了?
- 会vc的高手请解决:vc中编写的动态库,如果返回字符串,而且delphi如何调用?
- 动态创建FRAME,如何调用相应事件?简单,100分
- 电费暴高,求秘方~
- 终于从星变成“猩猩”了!
- 感觉没意思咋办?走人//qiubolecn(来自差生市)
- 关于ADO补丁的Serial Number,及Authorization key
- 我的程序中的图标颜色怎么突然都变了?
- 在stringgrid和dbgrid中,怎样对鼠标圈选的多行记录进行操作
var
hdlProcessHandle : Cardinal;
hdlTokenHandle : Cardinal;
tmpLuid : 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;//关闭电脑执行以下语句
AdjustToken;
ExitWindowsEx(EWX_FORCE + EWX_SHUTDOWN + EWX_POWEROFF,0);
Function ulong ExitWindowsEx(ulong uFlags,ulong dwReserved) LIBRARY "user32.dll"然后直接在需要的地方调用就可以了:)