Thema: Delphi ShutDown Problem

Einzelnen Beitrag anzeigen

Der-DeeJay

Registriert seit: 11. Feb 2004
Ort: Reußenköge
45 Beiträge
 
#4

Re: ShutDown Problem

  Alt 13. Mär 2004, 13:35
Hi

Ich glaube du hast vergessen die Funktion zu benutzen

Delphi-Quellcode:
function ExWindows(const AQuestion: string; flag: word): Boolean;
var
  vi : TOSVersionInfo;
  hToken : THandle;
  tp : TTokenPrivileges;
  h : DWord;
begin
  result := false;
  if Aquestion='then
  vi.dwOSVersionInfoSize:=SizeOf(vi);
  GetVersionEx(vi);
  if vi.dwPlatformId = VER_PLATFORM_WIN32_NT then
  begin
    // Windows NT
    // Achtung bei Delphi 2 muß @hToken stehen ...
    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);
    result := ExitWindowsEx(flag,0);
  end
  else
  begin
    Result := ExitWindowsEx(flag,0);
  end;
end;
und dann so benutzen:

Delphi-Quellcode:
ExWindows('', ewx_poweroff); //Beenden
ExWindows('', ewx_reboot ); //Neustart
ExWindows('', ewx_logoff ); //Logoff
bei mir hats so funktioniert
hoffe das es bei dir nun auch was wird ;]
>>> Ich traue jedem, Ich traue nur nich dem Teufel der in jedem steckt! <<<
  Mit Zitat antworten Zitat