请教大虾:
在DELPHI中使用ExitWindowsEx()时(win2k下),好象执行失败,机器没有反映,
我也看了API帮助说要有SE_SHUTDOWN_NAME属性的权限,
但我不知道怎么调用[email protected] thankS
在DELPHI中使用ExitWindowsEx()时(win2k下),好象执行失败,机器没有反映,
我也看了API帮助说要有SE_SHUTDOWN_NAME属性的权限,
但我不知道怎么调用[email protected] thankS
hToken :THandle ;
tkp :TOKEN_PRIVILEGES ;
otkp :TOKEN_PRIVILEGES ;
dwLen :Dword ;
begin
if OpenProcessToken(GetCurrentProcess ,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY ,hToken) then
begin
LookupPrivilegeValue(Nil ,'SeShutdownPrivilege' ,tkp.Privileges[0].Luid) ;
tkp.PrivilegeCount := 1;
tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken ,False ,tkp ,sizeof(tkp) ,otkp ,dwLen) ;
if (GetLastError() <> ERROR_SUCCESS) then
begin
Showmessage'AdjustTokenPrivileges enable failed.');
end else
begin
ExitWindowsEx(EWX_POWEROFF ,0) ;
end ;
end
end;