是否可以让 Windows 10 使用命令行检测多显示器?

是否可以让 Windows 10 使用命令行检测多显示器?

在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”。单击“下一步”。

现在您只需要检查您的设置,如果满意,单击“完成”并测试。

相关内容