在 Windows 95 中*無*關閉進程確認的情況下從 bat 檔案關閉

在 Windows 95 中*無*關閉進程確認的情況下從 bat 檔案關閉

網路上的每個指南都說要使用 RUNDLL USER.EXE,ExitWindows ,它可以從執行指令中使用

但是,當從 bat 檔案執行時,此命令儘管有效,但會請求確認以終止「剩餘」進程。該進程就是命令列本身。我無法用“CALL”來呼叫它,但由於 call 創建了一個新的命令行,我希望結果是相同的。

這只是一個 Windows 95 問題,它是虛擬機器在運行應用程式後自動關閉的問題。這個想法基本上是在啟動程序資料夾中放​​置一個腳本來啟動應用程序,等待它以 START /WAIT 退出,然後使用某些東西自動關閉視窗。

答案1

如果您將程式設定為 shell 而不是資源管理器,那麼程式退出時它將自動執行並且 Windows 將關閉。

摘自2001年發表的一篇文章

將其複製到 c:\windows。如果您編輯c:\windows\system.ini和更改

shell=explorer.exe 

shell=progman.exe

然後您的電腦將以win3.11介面模式啟動。


自我上次更新網站 15 年http://www.mvps.org/serenitymacros

退出Windows

前三部分來自下載頁面上的 Tweak95。第四部分是隨Win98的變化。

關閉Windows

退出Windows 95的指令。要退出到 msdos,請鍵入 ExitToMsDos,它將運行同名的 Pif 檔案。將命令放在快捷方式或批次檔中。

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

重新啟動Windows

若要重新啟動 Windows,請將 Exit To Dos.pif(pif 部分隱藏)複製並重新命名為「重新啟動 Windows」。在屬性中編輯程式表將命令列變更為:

C:\WINDOWS\command.com /C exit

確保選中“退出時關閉”。在「進階」對話方塊中,勾選「使用目前 MSDos 設定」退出並重新啟動 Windows,而無需重新啟動。如果在退出和重新啟動之前需要確認,請勾選「進入 MSDos 模式之前發出警告」。必須選取 MSDos 模式。

另一種方法是使用 ExitWindowsExec 函數。這會退出 MSDos 來運行程序,但由於沒有給出任何程序,Windows 會重新啟動。輸入快捷方式或“開始 - 運行”對話框。

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

關閉對話框

此 reg 檔案將設定「關閉」對話方塊中的預設選項。 Windows 95B 和 IE4 會記住最後選擇的設置,因此要設置這些版本的預設值(而不是最後的操作),請添加以下命令列(如有必要,請C:\Windows\Winstart.bat建立)。Winstart.bat請記住使用簡短的名字。

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

或將此命令列新增至捷徑並將其放在 StartUp 資料夾中。

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

透過 SHExitWindowsEx

使用 User.exe 和 User32.dll 退出 Windows 函數不允許對執行何種類型的關閉進行任何控制,因為未傳遞參數,它們的操作就像傳遞 0 - ExitWindows 為關閉,ExitWindowsEx 為註銷。 Shell32.dll 中未記錄的函數 SHExitWindowsEx(Explorer 似乎使用的函數)確實帶有參數。

rundll32.exe shell32.dll,SHExitWindowsEx [optional number 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 

這些值可以相加,例如,5 表示關閉並強制應用程式關閉以及隱式登出。

請注意,如果不重新啟動,它們就不會重新啟動。這需要將參數 42(十六進位)傳遞給 User.exe 中的 ExitWindows。這不能從命令列完成。請參閱上面的提示以了解解決方法。

答案2

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

新增-f強制系統關閉或重新啟動。在 Windows 95 中,路徑為 C:\Windows\Command ,指的是這個網站

答案3

嘗試呼叫上面的命令start應該會讓你在背景執行它,而不是讓 cmd.exe 等待。我根本不知道 9x 語法,但start /?在命令列中執行了一個。

答案4

現代電腦有幾種自動關機方法(參見這個連結)但是 Windows 95 太舊了,它們可能無法運作。 (不過,還是試試你的運氣吧。)如果都失敗了,恐怕你唯一的選擇就是自己創造一個;即建立一個關閉電腦的 Windows 95 應用程式。

相關內容