当计算机从睡眠模式唤醒时我可以运行exe文件吗?

当计算机从睡眠模式唤醒时我可以运行exe文件吗?

我想在计算机从睡眠模式唤醒时运行 exe 文件,如何在 Windows 10 中做到这一点?

答案1

您可以通过使用循环并检查时间的 Visual Basic 脚本来实现这一点。

如果您的 PC 处于睡眠或待机模式的时间大于 20 秒(在下面的代码中设置),那么脚本将执行 Rem A 和 Rem B 之间的代码。

如果您将其放在启动文件夹中,它将在每次启动计算机时执行。

您必须单击(或双击)一次,这样当您将 PC 置于睡眠或待机模式时,它就会运行。您可以在 REM A 和 REM B 之间放置自己的代码。

Function GetDiff(Tm_a, Tm_b)
If (isDate(Tm_a) And IsDate(Tm_b)) = False Then
GetDiff = "00:00:00"
Exit Function
End If
seconds = Abs(DateDiff("S", Tm_a, Tm_b))
minutes = seconds \ 60
hours = minutes \ 60
minutes = minutes Mod 60
seconds = seconds Mod 60
If Len(hours) = 1 Then hours = "0" & hours
GetDiff = hours & ":" & Right("00" & minutes, 2) & ":" & Right("00" & seconds, 2)
End Function
Do
a = Now
WScript.Sleep 5000
b = Now

If GetDiff(a, b) > "00:00:20" Then

Rem A

Set ob = CreateObject("Wscript.Shell")
UsrNm = ob.expandenvironmentstrings("%Username%")
UsrPrfl = ob.expandenvironmentstrings("%Userprofile%")
MsgBox "Hi " & UsrNm & "  ( " & UsrPrfl & " )" & vbCrLf & _
        "You just came out of Hibernate or Standby mode." & vbCrLf & _
        "Instead of using an MsgBox, you can execute a program, command or code here," & vbCrLf & _
        "e.g.  ( ob.Run " & Chr(34) & Chr(34) & Chr(34) & "C:\Program Files\Internet Explorer" & Chr(34) & Chr(34) & Chr(34) & " )" _
        & vbCrLf & vbCrLf & _
        "Notice the three quotation marks in front and after the path," & vbCrLf & _
        "They are required when you open a custom folder or file," & vbCrLf & _
        "like  .exe  .jpg  .vbs ...etc," & vbCrLf & _
        "otherwise you will get the error ( The system can not find the file specified )", 4096, "Your pc nap time : " & GetDiff(a, b)

Rem B

End If
Loop

将上述代码粘贴到文本文件中,赋予其适当的名称,并将扩展名更改为 .vbs

如果您看不到扩展,请打开运行(win 键 + R)将以下字符串粘贴到运行文本框中:

RunDll32.exe shell32.dll,Options_RunDLL 7

然后按 Enter。这将在“视图”选项卡中打开“文件夹选项”。

取消选择隐藏已知文件类型的扩展名 您将能够看到扩展。

然后将 .vbs 文件放在启动文件夹中,以便每次启动 Windows 时都会执行它。

打开启动文件夹:

将以下字符串粘贴到运行(win 键 + R)中,粘贴字符串然后按 Enter,或使用它创建快捷方式:

"%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"

我已经使用这个脚本很长时间了,它从来没有让我失望过。

如果您想在从睡眠或待机模式恢复时执行可执行文件(或其他内容),请擦除 Rem A 和 Rem B 之间的所有内容,并使用以下代码:

设置 ob = CreateObject("Wscript.Shell")

ob.Run“”将可执行文件的完整路径粘贴到这些引号之间“””

例如 ob.Run """C:\Program Files\Internet Explorer\iexplore.exe"""

确保路径前后只有三个引号。您必须单击一次脚本,然后即使 PC 退出睡眠或待机模式,它也会无限循环。

如果您还有其他问题,请询问。

重要信息:

设置的任务(在 REM A 和 REM B 之间)将在您输入密码之前执行,前提是您有密码,并且在 powercfg.cpl 中设置了“唤醒时需要密码”(即所谓的电源选项)

相关内容