我因为错误而在 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