Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winapi 使用Windows API检测所有连接的监视器_Winapi - Fatal编程技术网

Winapi 使用Windows API检测所有连接的监视器

Winapi 使用Windows API检测所有连接的监视器,winapi,Winapi,我正在使用Windows7。当我在电脑运行时插入新显示器时,显示器不会自动检测到。我必须转到显示->屏幕分辨率并单击检测按钮,以便使用注册表配置检测监视器 我正在寻找一种使用Windows API以编程方式执行相同操作的方法。因此,我想写一个程序,检测所有连接的监视器,重现检测按钮。我尝试使用ChangeDisplaySettingEx,但结果不好。有什么建议吗?如果您想了解支持显示的应用程序,请阅读。不是真正的WinApi,但请尝试以下实用程序: C:\Windows\System32\Dis

我正在使用Windows7。当我在电脑运行时插入新显示器时,显示器不会自动检测到。我必须转到显示->屏幕分辨率并单击检测按钮,以便使用注册表配置检测监视器


我正在寻找一种使用Windows API以编程方式执行相同操作的方法。因此,我想写一个程序,检测所有连接的监视器,重现检测按钮。我尝试使用
ChangeDisplaySettingEx
,但结果不好。有什么建议吗?

如果您想了解支持显示的应用程序,请阅读。

不是真正的WinApi,但请尝试以下实用程序:

C:\Windows\System32\DisplaySwitch.exe

DisplaySwitch.exe /internal - Switch to Primary only
DisplaySwitch.exe /external - Switch to Secondary only
DisplaySwitch.exe /clone - Clone desktop on both screens (Not HDCP compliant!)
DisplaySwitch.exe /extend - Extend desktop to both screens

特别是,try/extend开关,它应该在内部执行检测。

不是API解决方案,但您可以在命令行上使用MS的DevCon实用程序来扫描新硬件

从该页面下载,然后从cmd窗口执行:

devcon.exe rescan

您可以通过链接轻松创建.bat或.cmd文件来运行此操作。

可能会有所帮助?您已经在这方面浪费了太多时间。只需更换视频适配器。这篇代码项目文章可能会有所帮助:尽管我同意@HansPassant的说法,这听起来像是一个硬件问题,不值得尝试用软件修复!这有什么关系?因为当连接/移除新显示器时,Windows会向应用程序发送WM_DISPLAYCHANGE消息;我记得。如果是这样的话,你应该在你的回答中包括这一点。只有链接的答案是错误的答案。无论如何,OP的问题是没有检测到新连接的显示器,因此在OP单击显示器控制面板中的“标识”之前,很可能也不会发送
WM_DISPLAYCHANGE
。为完整起见,可以找到devcon的源代码,以便在不使用.bat或.cmd文件的情况下仅包含项目所需的功能。我遇到了类似的问题-当我的笔记本电脑醒来时,有时只有连接的显示器打开,但我的笔记本电脑显示器保持黑色。显示属性中的“检测”会使笔记本电脑屏幕重新打开,但Windows任务栏会出现故障。所以我还需要重新启动explorer.exe进程来修复这个问题。但是,这种方法解决了这两个问题。我必须先运行“/internal”来识别笔记本电脑屏幕,然后运行“/extend”来重新打开连接的显示器。但这是脚本,所以我不必做所有其他的废话。谢谢