wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了winapi – 检测在Windows 7下连接或删除的外部显示器大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

每次从运行 Windows 7的笔记本电脑插入外接LCD监视器或拔下插头时,是否有某些事件或通知我可以接收或挂机? 笔记本电脑检测到这一点并将我的显示切换到外部屏幕并返回某些类型的调整大小或重新定位,但这是否由操作系统公开,以便应用程序可以提供处理程序,附加脚本等? 如果没有,是否有我可以不时轮询的注册表设置或API? (我更喜欢编程C Win32 API) updatE Mike的回答如下,WM
每次从运行 Windows 7的笔记本电脑插入外接LCD监视器或拔下插头时,是否有某些事件或通知我可以接收或挂机?

笔记本电脑检测到这一点并将我的显示切换到外部屏幕并返回某些类型的调整大小或重新定位,但这是否由操作系统公开,以便应用程序可以提供处理程序,附加脚本等?

如果没有,是否有我可以不时轮询的注册表设置或API?

(我更喜欢编程C Win32 API)

updatE

@H_920_15@mike的回答如下,WM_DEVICECHANGE让我到了RegisterDeviceNotification(),但到目前为止我正在努力实现它……

更新2

这个问题已被问过几次不同的措辞,但在我看来还没有完全回答:

> How to detect hot plugging of monitor in a win32 application?
> Getting an event on monitor hotplug for windows

根据 this article,Windows在显示分辨率更改时以及添加删除显示时发送WM_DISPLAYCHANGE消息.

如果由于添加删除监视器而需要对桌面大小更改做出反应,则可以在此消息的处理程序中执行此操作. LPARAM为您提供窗口所在显示的新分辨率.请注意,如果您使用除100%以外的任何其他内容进行系统DPI缩放并且您的程序不是@L_801_17@,则此分辨率将被缩放.

或者,使用EnumDisplaymonitors函数获取每个连接的监视器的显示分辨率以及虚拟桌面中监视器的相对位置.无论DPI缩放如何,此功能都使用实际设备像素值.

大佬总结

以上是大佬教程为你收集整理的winapi – 检测在Windows 7下连接或删除的外部显示器全部内容,希望文章能够帮你解决winapi – 检测在Windows 7下连接或删除的外部显示器所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。