我需要监控我的应用中的任何屏幕分辨率更改,以及我的应用程序是否在前面。
昨天我在互联网上搜索了很多,并尝试了所有这些选项:
applicationDidChangeScreenParameters;
CGDisplayRegisterReconfigurationCallback;
NSApplicationDidChangeScreenParametersNotification;
当我手动更改分辨率或插入/拔出新显示器时,我会收到通知。
但是当其他应用程序更改屏幕参数(2011年之前制作的大多数游戏)时,我都不会收到通知。
有没有办法知道任何 mac应用程序是否更改了屏幕分辨率?即使我的应用程序在后台?有任何通知吗?希望没有辅助功能API ......?
非常感谢
这个答案Events when dock is showing or hiding对我有所帮助。由于我在另一个应用程序进入/退出全屏时收到通知,而不是在更改分辨率而不更改全屏状态时得到通知= /并且它依赖于在10.8上弃用的Carbon API ...
这不是我想要的,但适用于大多数情况...... 还有其他方法可以实现可可吗?是否有任何全球通知?
答案 0 :(得分:1)
你可能已经看过这个页面了:
此外,您似乎需要考虑来自其他应用的通知,因此请使用NSDistributedNotificationCenter
而非NSNotificationCenter
。