c# - 如何在 Windows 中强制显示检测?

标签 c# windows winapi monitor

我经常使用连接到另一台计算机的 KVM 开关启动我的 Windows 7 PC。当我切换到启动的 PC 时,显示分辨率错误(并且未检测到第二个连接的显示器)。

我可以通过右键单击桌面、选择 Screen Resolution 并单击 Detect 来更正此问题。这会使 Windows 检测连接的显示器并调整到最佳分辨率。

我想编写一个小实用程序来自动执行此操作。我应该使用哪个 Win32 API 调用或 C# 对象?

最佳答案

你可以试试:

  1. 您可以使用 Spy++ 搜索打开的窗口并查看它们的属性和消息。
  2. 使用进程启动“rundll32.exe shell32.dll,Control_RunDLL desk.cpl”或尝试直接调用它以查看是否可以获得窗口句柄,查看下面的链接以获取想法。
  3. 使用代码 "send button click to external app"并修改它以搜索标题为“屏幕分辨率”的窗口,并向标题为“检测”的子窗口发送 BN_CLICK。
  4. 由于计算机已经开机,您可能希望在登录时自动启动它,为此请使用任务计划程序。

关于c# - 如何在 Windows 中强制显示检测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3858844/

相关文章:

c# - 在 WPF 应用程序中将数据从 C# 发送到 Javascript

javascript - 如何使用 angularjs 和特定的数据结构创建简单的树可折叠/可折叠 View

c# - 带平衡组的正则表达式不仅匹配最外面的匹配项

c# - 如何在 Windows 10 通用应用程序中使用 isTypePresent 检测相机是否可用

c++ - 如何记录或重播崩溃前立即执行的行或指令

c++ - IE BHO - 为页面加载调用 DISPID_FILEDOWNLOAD?

windows - fopen 使用 unicode 文件名

c++ - C++ 中的临界区和返回值

c++ - 使用 GDI+ 的带有 PNG 的按钮

windows - 在没有 lodctr 的情况下注册性能计数器