我有一个程序,我想在未登录的情况下将我的 Windows 10 笔记本电脑从睡眠或休眠模式打开时自动运行。如果运行该程序,应该会显示命令提示符。我尝试将该程序放入 Windows 启动文件夹,但该程序仅在我从关机模式打开笔记本电脑时自动运行。此外,我尝试在任务计划程序中创建一个任务,使用触发器(如“发生事件时(日志:系统,来源:Microsoft-Windows-Power-Troubleshooter,事件 ID:1)”和“工作站解锁时”)运行该任务,但我的程序在从睡眠或休眠模式打开笔记本电脑时不会启动(我登录查看该程序是否已打开,但实际上没有)。似乎没有名为“唤醒时”或类似名称的触发器。如果有人对如何使其工作有任何建议,我将不胜感激!
答案1
Set colMonitoredEvents = GetObject("winmgmts:")._
ExecNotificationQuery("SELECT * FROM Win32_PowerManagementEvent")
Do
Set strLatestEvent = colMonitoredEvents.NextEvent
If strLatestEvent.EventType = 4 Then
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_Process")
For Each objItem in colItems
If objItem.name = "Calculator.exe" then objItem.terminate
Next
ElseIf strLatestEvent.EventType = 7 Then
wscript.sleep 2000
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "calc.exe", 1, false
End If
Loop
如果正在运行,此脚本将等待系统暂停并终止计算器。恢复时,它将重新启动计算器。
将脚本命名为 something.vbs。双击运行它。它是不可见的。在任务管理器中它被称为 wscript.exe。
看https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-powermanagementevent用于文档。