在屏幕保护程序上运行批处理/cmd

在屏幕保护程序上运行批处理/cmd

屏幕保护程序启动时,有没有办法运行 .bat 或 .cmd?我注意到,如果将某些 .exe 重命名为 .scr,它们就可以运行,但仅此而已吗?

答案1

1.屏幕启动器

屏幕启动器允许您选择任何程序作为屏幕保护程序运行。您可以启动 Powerpoint、电影或任何 EXE 或相关文件。要安装,只需解压、右键单击,然后单击上下文菜单上的“安装”。然后,您可以像使用任何其他屏幕保护程序一样使用屏幕启动器。要打开 Powerpoint 演示文稿等文件,您必须执行 powerpoint 程序并键入 ppt 的路径作为参数。显示图像的示例为 c:\winnt\system32\mspaint.exe c:\picture.bmp。立即下载以利用任何媒体作为屏幕保护程序。

1

[由于官方网站似乎已失效,因此提供备用下载链接。]

2.运行保护程序(不要与同一作者的 RunScreenSaver 混淆)。

运行命令的屏幕保护程序。

2

我确信还有更多这样的屏幕保护程序允许您启动任意程序/脚本。但是如果您想继续使用当前的屏幕保护程序怎么办?如果是这样,请参阅下面的解决方案(在 Win7 上测试,在 Vista+ 上应该可以正常工作)。


3. 使用第三方工具

  1. 事件 ID 4802对应于已调用屏幕保护程序, 但它是不是默认情况下会记录,因此我们需要先启用此事件的日志记录。因此打开本地组策略编辑器Start / Run / gpedit.msc), 导航:

    Computer Configuration / Windows Settings / Security Settings / Advanced Audit Policy Configuration / System Audit Policies - Local Group Policy Object / Logon/Logoff / Audit Other Logon/Logoff Events

    并启用复选框成功失败

    3

  2. 如果你等待屏幕保护程序启动,你现在会看到类似以下内容的事件日志:事件查看器

    4

  3. 现在使用起来很容易任务计划程序创建一个在事件 4802 发生时启动的任务。只需确保触发器任务的特性对话框如下所示:

    5
    6

答案2

为了完成@Karan 的精彩回答对于那些有兴趣执行程序的人来说,我想参考一下屏幕保护程序关闭,这个过程和他使用的是一样的“3. 不使用第三方工具”解决方案,但是事件 ID 应为 4803

(例如,就我而言,我想禁用 Aero(“网络停止 uxsms”)屏幕保护程序启动时,然后重新启用它(“网络启动 uxsms”)当屏幕保护程序停止时)

答案3

如果时间不是十分紧迫,那么您可以简单地使用任务计划程序的内置触发器“开始任务:空闲时”。

Task Scheduler -> Create Task -> "Trigger" tab -> New -> "Begin the task:" -> "On Idle"

接下来,转到“操作”选项卡并将操作设置为您想要运行的操作。

这应该在屏幕保护程序启动后执行操作(或者当系统处于空闲状态而没有屏幕保护程序时),但是可能延迟 0-15 分钟。以下是任务计划程序文档中的相关细节:

任务计划程序服务将每 15 分钟检查一次计算机是否处于空闲状态。当屏幕保护程序运行时,计算机被视为处于空闲状态。如果屏幕保护程序未运行,则如果在过去 15 分钟的 90% 时间内 CPU 使用率为 0% 且磁盘输入或输出为 0%,并且在此期间没有键盘或鼠标输入,则计算机被视为处于空闲状态。

因此,您的屏幕保护程序启动,然后 0-15 分钟后 Windows 检查空闲情况并启动您的程序。

相关内容