Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Windows neustarten (https://www.delphipraxis.net/23131-windows-neustarten.html)

Pseudemys Nelsoni 29. Mai 2004 08:24


Windows neustarten
 
Moin,

ich hab diesen code "irgendwo" hier im form entdeckt:

Delphi-Quellcode:
function ExitWin(flag:word): Boolean;
var vi     : TOSVersionInfo;
    hToken : THandle;
    tp     : TTokenPrivileges;
    h      : DWord;

begin
  //result := false;
  vi.dwOSVersionInfoSize:=SizeOf(vi);
  GetVersionEx(vi);
  if vi.dwPlatformId = VER_PLATFORM_WIN32_NT then // Windows NT
  begin
    // 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 // Windows 95 
  begin
    Result := ExitWindowsEx(flag,0);
  end;
end;
kann mir jemand sagen wie diese funktion GENAU funktioniert? ich kapier da alles nicht. wieso geht ExitWIndowsEx nicht auch ohne den ganzen code? (sicher wegen den rechten)..aber naja den rest wüsst ich auch gern.

Luckie 29. Mai 2004 08:33

Re: Windows neustarten
 
Kannst du alles im PSDK oder online im MSDN nachschlagen was da passiert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz