(Gast)
n/a Beiträge
|
Re: Abmelden - Ohne "Tricks" das zu umgehen
24. Nov 2007, 13:16
Delphi-Quellcode:
var
Name : string;
i : integer;
hToken : THandle;
tp : TTokenPrivileges;
h : DWord;
begin
Name := GetEnvironmentVariable(' USERNAME');
Name := LowerCase(Trim( Name));
i := Pos(' einer', Name) // <== hier die zugelassenen User-Namen
+ Pos(' nocheiner', Name)
+ Pos(' viele', Name);
if (i = 0)
then begin
// shutdown
OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, hToken);
LookupPrivilegeValue( nil, ' SeShutdownPrivilege', tp.Privileges[0].Luid);
tp.PrivilegeCount := 1;
tp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
h := 0;
AdjustTokenPrivileges(hToken, False, tp, 0, PTokenPrivileges( nil)^, h);
CloseHandle(hToken);
ExitWindowsEx(EWX_SHUTDOWN, 0);
end;
|
|
Zitat
|