在 Windows 95 中通过 bat 文件关闭,无需关闭进程确认

在 Windows 95 中通过 bat 文件关闭,无需关闭进程确认

网络上的每一个指南都说使用 RUNDLL USER.EXE,ExitWindows 有效......从运行命令

但是,当从 bat 文件运行时,此命令虽然有效,但要求确认以终止“剩余”进程。该进程是 cmd 行本身。我无法使用“CALL”调用它,但由于 call 会创建一个新的命令行,我预计结果会相同。

这只是 Windows 95 的问题,它用于虚拟机在运行应用程序后自动关闭。这个想法基本上是在启动程序文件夹中有一个脚本,用于启动应用程序,等待它使用 START /WAIT 退出,然后使用某些东西自动关闭 Windows。

答案1

如果您将程序设置为 shell 而不是 explorer,那么它将自动运行,并且当程序退出时 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。要退出到 msdos,请键入 ExitToMsDos,它将运行同名的 Pif 文件。将命令放在快捷方式或批处理文件中。

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

重新启动 Windows

要重新启动 Windows,请复制 Exit To Dos.pif(pif 部分被隐藏),然后将其复制并重命名为 Restart 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.batWinstart.bat如果需要,请创建)。请记住使用简短的 filke 名称。

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

或者将此命令行添加到快捷方式并将其放在启动文件夹中。

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 应用程序。

相关内容