在Windows 10的显示设置对话框中,有一个“检测多显示器”按钮,如果您已经连接了多台显示器,但是对话框中显示的显示器较少,您可以按该按钮让其他显示器显示在对话框中。
是否有可以发出该命令的命令行或 API?
我正在使用 QEMU/KVM/virt-manager 在 Ubuntu 主机上运行 Windows 10 客户机,并将 3060 GPU 传递到 Windows 10 VM。但每次主机挂起和唤醒时,连接到 3060 的显示器都是黑色的。原来是因为 Windows 10 VM 在挂起周期后不知何故“丢失”了该显示器,只有连接到虚拟 iGPU 的内部虚拟显示器仍然存在。按下“检测多显示器”按钮可以解决这个问题,让 Windows 10 在 3060 显示器上显示内容,这就是为什么我想在唤醒后自动运行命令来执行它。
答案1
创建脚本:
下载并安装更改屏幕分辨率
创建一个.bat 脚本并将以下内容复制/粘贴到其中:
@echo 开启
调用 C:\ChangeScreenResolution.exe /w=1920 /h=1080 /force
将宽度/高度更改为所需的屏幕分辨率
将 .bat 文件保存到所需位置
测试启动此 .bat 脚本是否会在睡眠后唤醒两个显示器,而不是使用 Windows 多显示器切换。如果可行,请继续执行下面详述的步骤。如果不行,我可能需要修改我的答案。
现在任务调度程序步骤:
打开任务计划程序:
按 Win + R 打开运行对话框。输入 taskschd.msc 并按 Enter。
创建新任务:
在任务计划程序中,右键单击左侧窗格中的“任务计划程序库”。从上下文菜单中选择“创建基本任务...”。
任务信息:
输入任务的名称和描述。单击“下一步”。
触发器选择:
选择最适合您需求的触发器。在这种情况下,您可能希望选择“当记录特定事件时”。单击“下一步”。
日志:
将日志设置为“系统”。单击“下一步”。
来源:
将来源设置为“电源疑难解答”。单击“下一步”。
事件 ID:
将事件 ID 设置为“1”。此事件 ID 通常对应于从睡眠状态唤醒(您可能需要仔细检查)。点击“下一步”。
行动:
选择“启动程序”。点击“下一步”。
程序/脚本:
浏览并选择批处理脚本的路径。例如:“C:\Path\To\Your\Script.bat”。单击“下一步”。
现在您只需要检查您的设置,如果满意,单击“完成”并测试。