Ovako, ako si citao help za
ExitWindowsEx, video si da je za bilo koji NT potrebna privilegija
SeShutdownPrivilege. Evo malo koda kako postaviti ovu privilegiju nekom procesu.
Code:
procedure TForm1.Button1Click(Sender: TObject);
var token:integer;luid:int64;priv:TTokenPrivileges;s:cardinal;
begin
if Win32Platform=VER_PLATFORM_WIN32_NT then begin
openprocesstoken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES,cardinal(token));
LookupPrivilegeValue(nil,'SeShutdownPrivilege',luid);
priv.PrivilegeCount:=1;
priv.Privileges[0].Luid:=luid;
priv.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(token,false,priv,0,nil,s);
end;
ExitWindowsEx(EWX_REBOOT,0);
end;
Probaj, i mislim da ce da radi. a sto se tice onog za ALT+TAB i START, stvarno ne znam kako to uraditi na XP-u.
Sad ja znam zašto sam vam ovo ispričao, ovo će sigurno nekome koristiti....