昨天我在 Windows7 计算机上运行了 BIOS 更新。BIOS 更新工具执行了 Windows 的关闭,并且没有重新启动计算机(因此直接在 Windows 关闭之后),一个类似 DOS 的工具启动了更新 BIOS。
我搜索了万维网,但我只能找到如何在 Windows 关闭(因此在 Windows 关闭之前)或注销(注销脚本)时执行应用程序。
有没有人知道如何实现这一目标?
昨天我在 Windows7 计算机上运行了 BIOS 更新。BIOS 更新工具执行了 Windows 的关闭,并且没有重新启动计算机(因此直接在 Windows 关闭之后),一个类似 DOS 的工具启动了更新 BIOS。
我搜索了万维网,但我只能找到如何在 Windows 关闭(因此在 Windows 关闭之前)或注销(注销脚本)时执行应用程序。
有没有人知道如何实现这一目标?
您可以运行本地组策略 - gpedit.msc(从运行)。
在计算机配置下选择Windows 设置
选择脚本(启动/关机)
在关机属性上,您可以添加脚本并在需要时提及参数。
我还建议您查看以下问题-如何延迟关闭并在窗口服务中运行进程
我猜这台机器实际上已经执行了软重启并且正在运行 BIOS 代码。这是通常的方法,在某些情况下,用户可能看不到软重启,即 BIOS 自我更新代码可能在 POST 之前运行。
但是,它是(或至少曾经是)可以在关闭后运行 Windows 代码,尽管显然它可以做的事情是有限的。可以在Service Control Handler Function的 MSDN 库条目中找到关键信息:
在此时间到期后,无论服务关闭是否完成,系统都会继续关闭。请注意,如果系统处于关闭状态(未重新启动或关闭),服务将继续运行。
因此,至少在原则上,您需要做的就是安装一个服务,该服务会要求关闭通知但在关闭时实际上并未停止,然后指示 Windows 在不重新启动或关闭电源的情况下关闭。我实际上已经看到这种情况发生了,但仅在旧版本的 Windows 上(在关机时自动关机成为默认设置之前!)所以我不能保证它仍然有效,尽管它确实做过一次。
但是,应该注意的是,这不一定会给您提供您可能想到的那种环境。例如,设备驱动程序在关机前不一定要卸载;毕竟,这有什么意义呢?