通过命令行或 C# 更改 Win-10 显示设置

通过命令行或 C# 更改 Win-10 显示设置

语境:Windows 10 台式电脑“失去对屏幕的追踪”,屏幕变黑/保持黑屏

我想在命令行上模拟“更改 Windows 显示配置”的效果(请参阅结尾以了解具体的 UI 导航),这样我就可以进行设置,以便我可以轻松地仅使用键盘运行命令/脚本,而无需访问显示器。

我所需要的只是一个可以执行此操作的脚本或 exe,然后我可以使用键盘上的可编程 F 键,或者我可以执行以下操作:

  • Win-Key
  • 输入“cmd”
  • 进入
  • 输入“reset_screens.sh/.cmd/.ps1/.exe/.whatever”
  • 进入

那么,如何在没有 UI 的情况下重现该 UI 交互的效果呢?

UI 序列:

  • 将所有内容最小化至桌面
  • 桌面背景的上下文菜单
  • “显示设置”
  • 向下滚动到“多显示器”。
  • 在下拉菜单中从“扩展这些显示”更改为“复制这些显示”。
  • 之后发生什么并不重要,只要它能被逆转

答案1

有一个名为 DISPLAYSWITCH.exe 的命令可以执行此操作。请注意,这是按 Windows+P 时打开的程序。

我不知道它内部是如何工作的,但你可以从 C# 调用它。

更新这些显示设置的 WIN32 命令似乎是:SetDisplayConfig

语法 DISPLAYSWITCH /Option

选项

   /internal    Switch to use the primary display only.
   1            All other connected displays will be disabled. 

   /clone       The primary display will be mirrored on a second screen.
   2        

   /extend      Expand the Desktop to a secondary display.
   3            This allows one desktop to span multiple displays. (Default).

   /external    Switch to the external display only (second screen).
   4            The current main display will be disabled.

相关内容