Win Xp neu starten
-
Habe hier nur etwas zu 2000 gefunden. Gibt es einen einfachen Befehl, um XP neu zu starten? Vorher sollte das Programm aus dem heraus XP runtergefahren werden soll, aber ordentlich beendet werden.
Dank und Gruß
Al
-
Das geht mit ExitWindowsEx() und EWX_REBOOT als Argument.
Dein Programm kannst du danach noch ganz normal beenden lassen.
-
Super, danke Dir

-
Unter Vista geht das nicht oder? Habs gerade mal getestet...
-
Getestet hab ich's unter Vista noch nicht, aber eigentlich sollte es schon funktionieren.
-
AlTheKingBundy schrieb:
Unter Vista geht das nicht oder? Habs gerade mal getestet...
haste auch
To shut down or restart the system, the calling process must use the AdjustTokenPrivileges function to enable the SE_SHUTDOWN_NAME privilege. For more information, see Running with Special Privileges.
gelesen und beachtet?
-
wie volkard bereits erwähnt hat, musst du dir als erstes die Privilegien erwerben.
Hier ein Beispiel
HANDLE hToken; TOKEN_PRIVILEGES tkp; if (OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken)){ LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid); tkp.PrivilegeCount=1; tkp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken,false,&tkp,0,(PTOKEN_PRIVILEGES)NULL,0); }
-
@ Deforation
Danke, das hatte ich übersehen. Wäre das Thema nicht mal was für die FAQ?
-
Hallo
Wenn dann aber für die FAQ des WinAPI-Forums.
bis bald
akari
-
Dieser Thread wurde von Moderator/in akari aus dem Forum VCL (C++ Builder) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Seit dem es NT 4.0 gibt, kann man ExitWindows(Ex) nicht mehr einfach so ausführen, das hat nichts mit XP zu tun! Seit dieser Zeit existieren auch FAQ Artikel. Man muss einfach nur mal die FAQ bemühen...