题
如何安排 Windows XP 中的任务在关闭 Windows 时运行。这样我每次关闭 Windows 时都想运行一个用 C# 编写的简单命令行程序。当我的计算机关闭时,计划任务中似乎没有执行此任务的选项。
解决方案
执行 gpedit.msc(本地策略)
计算机配置 -> Windows 设置 -> 脚本 -> 关机 -> 属性 -> 添加
其他提示
除了丹·威廉姆斯的回答之外,如果您想添加一个 启动/关闭 脚本,您需要在下面查找 Windows 设置 电脑配置. 。如果你想添加一个 登录/注销 脚本,您需要在下面查找 Windows 设置 用户配置.
因此,重申 Dan 所说的包含这些信息的内容,
对于启动/关闭:
- 运行 gpedit.msc(本地策略)
- 电脑 配置 -> Windows 设置 -> 脚本 -> 启动 或者 关闭 -> 属性 -> 添加
对于登录/注销:
- 运行 gpedit.msc(本地策略)
- 用户 配置 -> Windows 设置 -> 脚本 -> 登录 或者 注销 -> 属性 -> 添加
来源: http://technet.microsoft.com/en-us/library/cc739591(WS.10).aspx
对于喜欢使用任务计划程序的用户,可以通过将任务设置为在事件查看器中的系统日志中记录事件 1074 后运行,来安排任务在启动重新启动/关闭后运行。但是,它只适用于非常短的任务,只要系统重新启动/关闭,该任务就会运行,通常只有几秒钟。
- 从任务计划程序:
开始任务:在一次活动中
日志:系统
来源:用户32
事件ID:1074 - 从命令提示符处:
schtasks /create /tn "任务名称" /tr "任务文件" /sc onevent /ec system /mo *[system/eventid=1074]
评论:/ec 选项在 Windows Vista 及更高版本中可用。(谢谢@t2d)
请注意,任务状态可以是:
由于用户尚未登录到网络,因此未执行所请求的操作。指定的服务不存在。(0x800704DD)
但是,这并不意味着它没有运行。
一种解决方法可能是编写一个简单的批处理文件来运行该程序,然后关闭计算机。
您可以从命令行关闭——因此您的脚本可能相当简单:
c:\directory\myProgram.exe
C:\WINDOWS\system32\shutdown.exe -s -f -t 0
如果您运行 GPEdit.MSC,您可以转到计算机配置 -> Windows 设置 -> 脚本,然后添加启动/关闭脚本。这些可以是简单的批处理文件,甚至是完整的 EXE。您还可以在同一工具中调整登录和注销脚本的用户配置。此工具在 WIndows XP Home 中不可用。
上面的帖子中没有提到组策略编辑器。我曾多次使用 GPedit 在启动或关闭时执行任务。以下是 Microsoft 有关如何访问和操作 GPedit 的说明。
您可以运行一个调用您的程序的批处理文件,请查看此处的讨论以了解如何执行此操作:http://www.pcworld.com/article/115628/windows_tips_make_windows_start_and_stop_the_way_you_want.html
(来自谷歌搜索:Windows 计划任务在关闭时运行)
我建议做的是创建 .bat 文件的快捷方式(例如在桌面上),然后当您想要关闭计算机(并运行 .bat 文件)时,单击您创建的快捷方式。执行此操作后,编辑 .bat 文件并将此行代码添加到末尾或需要的位置:
c:\windows\system32\shutdown -s -f -t 00
这是做什么的
- 运行关闭过程
- 显示警报
- 强制停止所有正在运行的进程
- 立即执行
在Windows 10 Pro上,可以注册批处理文件;不需要注册 cmd.exe 并将 bat 文件指定为参数的解决方法。我刚刚这样做了,注册了关闭脚本和启动(引导)脚本,并且它起作用了。