![]() |
Windows shutdown?
Guten Abend Leute,
ich hab mal gelesen, dass man mit Delphi das windows herunterfahren kann stimmt das? Also ich glaub dass ich es gelesen hab, bin mir nicht mehr sicher ob das Delphi betraf, danke, Czapie. |
|
So geht es aber nur mit Windows9x. Für Windows2000 und höher mußt du dir erst die Rechte holen:
Delphi-Quellcode:
Und Aufruf wie folgt:
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;
Delphi-Quellcode:
ExitWin(EWX_POWEROFF);
|
Re: Windows shutdown?
Zitat:
Zitat:
@Daniel B: Wäre es nicht eigentlich schon längst an der Zeit gewesen, deinen FAQ-Beitrag mal zu aktualisieren, damit auch NT/2000/XP-User was davon haben? |
;-)
Ok, ok.
Du hast ja recht ich hab nicht gesucht :oops: Aber trotzdem danke, czapie. |
Re: Windows shutdown?
Zitat:
Grüsse, Daniel :hi: |
Hallo,
ich habe den Beitrag von Mathias als Hinweis verstanden, den Code in der Library um diese Version hier zu ergänzen bzw. zu vervollständigen. Aus meiner Sicht ist dieser Hinweis gut und ich werde mich jetzt daran machen, dies zu tun. Grüße, Daniel |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz