Macos 有没有办法知道其他应用程序是否更改了Cocoa中的显示分辨率?
我需要监视我的应用程序中的任何屏幕分辨率更改,无论是否将我的应用程序放在前面 我昨天在互联网上搜索了很多,并尝试了所有这些选项:Macos 有没有办法知道其他应用程序是否更改了Cocoa中的显示分辨率?,macos,cocoa,notifications,resolution,Macos,Cocoa,Notifications,Resolution,我需要监视我的应用程序中的任何屏幕分辨率更改,无论是否将我的应用程序放在前面 我昨天在互联网上搜索了很多,并尝试了所有这些选项: applicationDidChangeScreenParameters; CGDisplayRegisterReconfigurationCallback; NSApplicationDidChangeScreenParametersNotification; 当我手动更改分辨率或插入/拔出新显示器时,会收到通知 但当其他应用程序更改屏幕参数时(大多数游戏在201
applicationDidChangeScreenParameters;
CGDisplayRegisterReconfigurationCallback;
NSApplicationDidChangeScreenParametersNotification;
当我手动更改分辨率或插入/拔出新显示器时,会收到通知
但当其他应用程序更改屏幕参数时(大多数游戏在2011年之前制作),我不会收到通知
有没有办法知道mac应用程序是否改变了屏幕分辨率?即使我的应用程序在后台?有通知吗?希望没有可访问性API
多谢各位
编辑(6月9日) 这个答案对我有点帮助。因为当另一个应用程序进入/退出全屏时,我会收到通知,但当它更改分辨率而不更改全屏状态时,我不会收到通知=/而且它依赖于10.8中不推荐使用的Carbon API 这不完全是我想要的,但在大多数情况下都有效。。。
有没有其他方法可以在可可上实现这一目标?有关于此的全局通知吗?您可能已经看过此页面:
此外,您似乎还需要考虑来自其他应用程序的通知,因此使用
NSDistributedNotificationCenter
而不仅仅是NSNotificationCenter
您这样做是为了什么?如果用户启动全屏游戏,您的应用程序可能不应该对此做出任何响应,因为在游戏期间,用户不会与您的应用程序进行图形交互,当游戏退出时,屏幕分辨率将恢复。这是针对我的应用程序的:它在后台运行,我需要知道是否有任何东西改变了屏幕分辨率,以解决一些游戏中使用不同于桌面分辨率时出现的问题。是的,我读过这篇文章。也许我看错了什么。我会再检查一遍的。你过得怎么样?这似乎很奇怪,系统没有提供这些通知,所以我很好奇,如果你得到它的工作!由于某种原因,NSDistributedNotificationCenter不适合我。使用NSNotificationCenter时,我收到了通知。但是,当某些应用程序临时更改屏幕分辨率(并在退出时返回到以前的分辨率)时,我的应用程序根本不会收到任何通知。不确定这是错误还是功能。