macos – 有没有办法知道另一个应用程序是否改变了Cocoa中的显示分辨率?

macos – 有没有办法知道另一个应用程序是否改变了Cocoa中的显示分辨率?,第1张

概述我需要监控我的应用程序中的任何屏幕分辨率更改,以及我的应用程序是否在前面. 我昨天在互联网上搜索了很多,并尝试了所有这些选项: applicationDidChangeScreenParameters;CGDisplayRegisterReconfigurationCallback;NSApplicationDidChangeScreenParametersNotification; 当我手动 我需要监控我的应用程序中的任何屏幕分辨率更改,以及我的应用程序是否在前面.

我昨天在互联网上搜索了很多,并尝试了所有这些选项:

applicationDIDChangeScreenParameters;CGdisplayRegisterReconfigurationCallback;NSApplicationDIDChangeScreenParametersNotification;

当我手动更改分辨率或插入/拔出新显示器时,我会收到通知.

但是当其他应用程序更改屏幕参数(2011年之前制作的大多数游戏)时,我都不会收到通知.

有没有办法知道任何mac应用程序是否更改了屏幕分辨率?即使我的应用程序在后台?有通知吗?希望没有辅助功能API ……?

非常感谢你

编辑(6月9日)

这个答案Events when dock is showing or hiding对我有所帮助.由于我在另一个应用程序进入/退出全屏时收到通知,而不是在更改分辨率而不更改全屏状态时获得通知= /并且它依赖于在10.8上弃用的Carbon API …

这不是我想要的,但适用于大多数情况……
还有其他方法可以实现可可吗?有关此的全球通知吗?

解决方法 你可能已经看过这个页面了:

https://developer.apple.com/library/mac/#documentation/GraphicsImaging/Conceptual/QuartzDisplayServicesConceptual/Articles/Notification.html%23//apple_ref/doc/uid/TP40004235-SW1

此外,您似乎需要考虑来自其他应用程序的通知,因此使用NSdistributedNotificationCenter而不仅仅是NSNotificationCenter.

@H_404_42@ 总结

以上是内存溢出为你收集整理的macos – 有没有办法知道另一个应用程序是否改变了Cocoa中的显示分辨率?全部内容,希望文章能够帮你解决macos – 有没有办法知道另一个应用程序是否改变了Cocoa中的显示分辨率?所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1009316.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存