在Win7和Win XP中关闭之前运行程序

时间:2015-01-30 10:56:33

标签: windows batch-file shutdown

我知道有关于此的线索,我找到了这个: How to schedule a task to run when shutting down windows 但它失败了。

我在LabView中编写了一个小程序并用它编写了一个exe。当我在正常的Windows操作中双击exe时它完美运行(只需几秒钟即可完成)。然后我将exe放在批处理文件中,并将组策略中的批处理文件作为关闭脚本。结果是计算机在静音时挂起。它显示关机屏幕几分钟,我必须重新启动电脑再次启动它。我甚至在批处理文件中只尝试了一个简单的文件复制命令,结果相同。 我究竟做错了什么? 任何提示都非常受欢迎

非常感谢

马丁

2 个答案:

答案 0 :(得分:0)

谢谢你的回答,它让我尝试了更多的东西,现在我成功了。我想在这里给出一些结果,也许他们会帮助别人:

  • 除了指定应该执行的exe的组策略之外 在关机之前运行,可以进行另一个有用的设置 在gpedit(我有一个德国赢7所以也许名字不完全 你有什么):计算机配置 - 管理模板 - system - scripts:你发现"在关闭时运行脚本可见"。 如果未激活,您将看不到计算机的功能 在关机期间。未激活是默认
  • 在计算机配置下的gpedit中 - windows设置 - 脚本: 关闭您可以插入脚本名称* .exe或者如果要运行批处理文件,请使用cmd.exe并输入参数/ C"批处理\ batchname.bat的完整路径" (你需要/ C和引号!!)。在我的问题中提到的线程中,Dan Stevens说,直接将batchname.bat作为脚本名称不起作用。我没试过这个。

很高兴看到我的小程序在关机之前运行

再次感谢您的帮助

马丁

答案 1 :(得分:0)

在关闭之前,我必须启用另一个选项来制作AutoHotKey脚本(我将其编译成.exe)。该脚本将打开一个Excel文件并添加一些值。为了使其正常工作,我还必须启用“指定组策略脚本的最大等待时间”。

只是为了使我在Windows 10中设置为英国英语的所有步骤更加清楚:

    例如,通过在Windows“开始”菜单中键入
  1. 打开编辑组策略
  2. 转到本地组策略> Windows设置>脚本(启动/关闭)>关闭
  3. 在此处添加您的.exe。
  4. 通过点击确定关闭窗口。
  5. 转到本地组策略>管理模板>系统>脚本
  6. 启用在运行时显示处于关闭状态的指令
  7. 启用指定组策略脚本的最长等待时间。我将我的时间设置为5000毫秒。

每当我关机时,我首先会看到“关机”,然后屏幕变黑,它运行脚本(打开Excel),关闭Excel,然后真正关机。