我需要監視我的應用程序中的任何屏幕分辨率更改,與我的應用程序在前面或不在。有什麼辦法可以知道另一個應用程序是否改變了Cocoa的顯示分辨率?
昨天我在網上搜索了很多,並試圖所有這些選項:
applicationDidChangeScreenParameters;
CGDisplayRegisterReconfigurationCallback;
NSApplicationDidChangeScreenParametersNotification;
我得到通知時,我手動更改分辨率或插/拔新的顯示。
但是,當其他應用程序更改屏幕參數(2011年之前製作的大多數遊戲)時,我不會收到通知。
有沒有什麼辦法知道是否任何 mac應用程序改變屏幕分辨率?即使我的應用程序在後臺?有沒有通知?希望沒有Accessibility API ...?
非常感謝您
EDIT(6月9日)
這個答案Events when dock is showing or hiding幫我一點點。由於我在另一個應用程序進入/退出全屏狀態時收到通知,但不是在更改分辨率時未更改全屏狀態= /並且它依賴於10.8版棄用的Carbon APIs ...
這不完全是什麼我想,但大多數情況下工作... 有什麼其他方式來實現可可?任何全球通知?
你在做什麼?如果用戶啓動全屏遊戲,則應用程序可能不應該做任何響應,因爲在遊戲期間用戶不會與您的應用程序進行圖形交互,屏幕分辨率將會恢復當遊戲退出時。 – user57368
這是爲我的應用程序:http://joystickmapper.com/它運行在背景上,我需要知道是否有任何更改屏幕分辨率,以解決使用不同於桌面分辨率的分辨率在幾場比賽中發生的問題。 – Rodrigo