在计算机关闭时运行带有 exe 的脚本

在计算机关闭时运行带有 exe 的脚本

我因为错误而在 stack overflow 上问了同样的问题。

我有一台电脑,如果将其连接到电视上,处于扩展模式,则无法开机。屏幕一片漆黑,没有任何生命迹象。

我想做的是编写一个脚本,在关闭之前将显示切换到内部。我尝试使用一个脚本C:\Windows\System32\DisplaySwitch.exe /内部和关机信号。这不会起作用,因为操作计算机的人无法真正点击脚本。

我想做的是将其作为机器关闭脚本。我尝试了这些:脚本C:\Windows\System32\DisplaySwitch.exe /内部和参数/内部的并且只需添加一个带有名称的脚本执行程序和参数/CC:\Windows\System32\GroupPolicy\Machine\Scripts\Shutdown\internal.bat但还是没有运气。

这应该可以工作吧?它仅在结束用户会话时才有效,因此仅当由用户而不是机器配置时才有效。

该机器运行的是Windows 10。

谢谢!

答案1

使用批处理脚本,您可以执行发送键通过创建动态 VBS 脚本,然后脚本在需要时执行它。WshShell.SendKeys "{UP}"以下示例批处理脚本中的行按向上箭头,但将其替换为WshShell.SendKeys {"DOWN}"将改为按向下箭头。

批处理脚本

@ECHO ON

DisplaySwitch

:VBSDynamicBuild
SET TempVBSFile=%temp%\~tmpSendKeysTemp.vbs
IF EXIST "%TempVBSFile%" DEL /F /Q "%TempVBSFile%"
ECHO Set WshShell = WScript.CreateObject("WScript.Shell") >>"%TempVBSFile%"
ECHO Wscript.Sleep 900                                    >>"%TempVBSFile%"
ECHO WshShell.SendKeys "{UP}"                             >>"%TempVBSFile%"
ECHO Wscript.Sleep 900                                    >>"%TempVBSFile%"
ECHO WshShell.SendKeys "{UP}"                             >>"%TempVBSFile%"
ECHO Wscript.Sleep 900                                    >>"%TempVBSFile%"
ECHO WshShell.SendKeys "{ENTER}"                          >>"%TempVBSFile%"

CSCRIPT //nologo "%TempVBSFile%"

EXIT /B

更多资源

相关内容