Herunterfahren aus einer Bat-Datei *ohne* Bestätigung zum Schließen des Prozesses in Windows 95

Herunterfahren aus einer Bat-Datei *ohne* Bestätigung zum Schließen des Prozesses in Windows 95

In jeder einzelnen Anleitung im Internet wird empfohlen, RUNDLL USER.EXE,ExitWindows zu verwenden, was funktioniert ... über den Befehl „Ausführen“

Wenn dieser Befehl jedoch aus einer Bat-Datei ausgeführt wird, erfordert er, obwohl er funktioniert, eine Bestätigung, um die „verbleibenden“ Prozesse zu beenden. Dieser Prozess ist die Befehlszeile selbst. Ich konnte ihn nicht mit „CALL“ aufrufen, aber da „call“ eine neue Befehlszeile erstellt, erwarte ich, dass das Ergebnis dasselbe ist.

Dies ist nur eine Frage zu Windows 95. Es geht darum, dass eine virtuelle Maschine nach dem Ausführen einer Anwendung automatisch heruntergefahren wird. Die Idee besteht im Wesentlichen darin, ein Skript im Ordner „Startup-Programme“ zu haben, das die Anwendung startet, wartet, bis sie mit START /WAIT beendet wird, und dann etwas verwendet, um Windows automatisch herunterzufahren.

Antwort1

Wenn Sie Ihr Programm als Shell statt als Explorer festlegen, wird es automatisch ausgeführt und Windows wird heruntergefahren, wenn das Programm beendet wird.

Aus einem Beitrag von 2001

Kopieren Sie es nach c:\windows. Wenn Sie bearbeiten c:\windows\system.iniund ändern

shell=explorer.exe 

Zu

shell=progman.exe

Anschließend wird Ihr Computer im Win3.11-Schnittstellenmodus gestartet.


Von meiner 15 Jahre seit der letzten Aktualisierung der Websitehttp://www.mvps.org/serenitymacros

Beenden von Windows

Die ersten drei Abschnitte stammen von Tweak95, das auf der Downloadseite verfügbar ist. Der vierte Abschnitt enthält Änderungen für Win98.

Windows herunterfahren

Ein Befehl zum Beenden von Windows 95. Dieser kann nur zum Herunterfahren verwendet werden, nicht zum Neustarten oder Beenden zu msdos. Zum Beenden zu msdos geben Sie „ExitToMsDos“ ein, wodurch die gleichnamige Pif-Datei ausgeführt wird. Platzieren Sie den Befehl in einer Verknüpfung oder Batchdatei.

C:\WINDOWS\RUNDLL32.EXE user.exe,ExitWindows

Starten Sie Windows neu

Um Windows neu zu starten, kopieren Sie „Exit To Dos.pif“ (der PIF-Teil ist ausgeblendet) und benennen Sie es in „Restart Windows“ um. Bearbeiten Sie das Programmblatt in den Eigenschaften. Ändern Sie die Befehlszeile in:

C:\WINDOWS\command.com /C exit

Stellen Sie sicher, dass „Beim Beenden schließen“ aktiviert ist. Aktivieren Sie im Dialogfeld „Erweitert“ die Option „Aktuelle MSDos-Konfiguration verwenden“, um Windows ohne Neustart zu beenden und neu zu starten. Aktivieren Sie „Vor dem Wechsel in den MSDos-Modus warnen“, wenn vor dem Beenden und Neustarten eine Bestätigung erforderlich ist. Der MSDos-Modus muss aktiviert sein.

Alternativ können Sie auch die Funktion ExitWindowsExec verwenden. Diese beendet MSDos, um ein Programm auszuführen, aber da kein Programm angegeben wird, wird Windows neu gestartet. Geben Sie es in eine Verknüpfung oder in das Dialogfeld „Start - Ausführen“ ein.

C:\WINDOWS\RUNDLL.EXE user.exe,ExitWindowsExec

Dialogfeld „Herunterfahren“

Diese Reg-Datei legt die Standardauswahl im Dialogfeld „Herunterfahren“ fest. Windows 95B und IE4 merken sich die zuletzt gewählte Einstellung. Um also für diese Versionen die Standardeinstellung (anstelle der letzten Aktion) festzulegen, fügen Sie die folgende Befehlszeile hinzu C:\Windows\Winstart.bat(erstellen Sie sie Winstart.bat, falls erforderlich). Denken Sie daran, den Kurznamen der Datei zu verwenden.

Regedit C:\<Path to Reg File>\ShutDown.Reg

Oder erstellen Sie mit dieser Befehlszeile eine Verknüpfung und legen Sie sie im Startordner ab.

Regedit /s C:\<Path to Reg File>\ShutDown.Reg

REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer]
'1=first choice in dialog box, 2=second choice, ect.
"Shutdown Setting"=dword:00000001

Über den SHExitWindowsEx

Die Verwendung der Windows-Beenden-Funktionen User.exe und User32.dll ermöglicht keine Kontrolle darüber, welche Art von Herunterfahren durchgeführt wird, da keine Parameter übergeben werden. Sie funktionieren so, als ob 0 übergeben würde – was Herunterfahren für ExitWindows und Abmelden für ExitWindowsEx bedeutet. Eine nicht dokumentierte Funktion SHExitWindowsEx in Shell32.dll, die der Explorer anscheinend verwendet, akzeptiert Parameter.

rundll32.exe shell32.dll,SHExitWindowsEx [optional number in hex]

Aktionswert in Hex

EWX_LOGOFF 0 
EWX_SHUTDOWN 1 
EWX_REBOOT 2 
EWX_FORCE 4 
EWX_POWEROFF
for machines that turn off their own power 8 

Diese Werte können addiert werden. Beispielsweise steht 5 für das Herunterfahren und erzwingt das Schließen von Anwendungen sowie eine implizite Abmeldung.

Beachten Sie, dass kein Neustart ohne Neustart möglich ist. Dazu muss ein Parameter von 42 (Hex) an ExitWindows in User.exe übergeben werden. Dies kann nicht über die Befehlszeile erfolgen. Siehe Tipp oben für eine Problemumgehung.

Antwort2

%windir%\System32\shutdown.exe -r -f

Das Hinzufügen -ferzwingt das Herunterfahren oder den Neustart des Systems. In Windows 95 wäre der Pfad C:\Windows\Command und verweist aufDiese Internetseite

Antwort3

Versuchen Sie, den obigen Befehl aufzurufen, damit starter im Hintergrund ausgeführt werden kann und keine cmd.exe warten muss. Ich kenne die 9x-Syntax nicht aus dem Stegreif, aber führen Sie einen start /?in der Befehlszeile aus.

Antwort4

Es gibt mehrere automatische Herunterfahrmethoden für moderne Computer (siehedieser LinkUndDas), aber Windows 95 ist so alt, dass sie möglicherweise nicht funktionieren. (Versuchen Sie trotzdem Ihr Glück.) Wenn alles fehlschlägt, besteht Ihre einzige Möglichkeit leider darin, selbst eine zu erstellen, d. h. eine Windows 95-App zu erstellen, die den Computer herunterfährt.

verwandte Informationen