2012-06-10 1 views
5

내 앱이 앞에오고 있는지 여부와 관계없이 내 앱에서 화면 해상도가 변경되었는지 모니터링해야합니다. 다른 응용 프로그램이 Cocoa에서 디스플레이 해상도를 변경했는지 알 수있는 방법이 있습니까?

는 어제 인터넷에서 많이 검색 한 모든 옵션을 시도 : 나는 수동으로 해상도를 변경하거나 플러그/새로운 디스플레이를 분리 할 때

applicationDidChangeScreenParameters; 
CGDisplayRegisterReconfigurationCallback; 
NSApplicationDidChangeScreenParametersNotification; 

내가 알림을받을 수 있습니다.

그러나 다른 응용 프로그램이 화면 매개 변수를 변경하면 알림을받지 못합니다 (2011 년 이전에 만들어진 대부분의 게임).

mac 응용 프로그램이 화면 해상도를 변경하는지 알 수있는 방법이 있습니까? 내 앱이 백그라운드에 있더라도? 알림? Accessibility API가 없으면 좋겠다. ...?

당신에게


EDIT (6 월 9)

이 답변 Events when dock is showing or hiding는 나에게 약간의 도움을 대단히 감사합니다. 다른 앱이 전체 화면으로 들어가거나 나올 때 알림을 받기 때문에 전체 화면 상태를 변경하지 않고 해상도를 변경할 때 알림이 표시되지 않습니다.// 그리고 10.8에서 더 이상 사용되지 않는 Carbon API를 사용합니다 ...

나는 원하지만 대부분의 경우에 효과가 있습니다 ... 코코아를 얻는 다른 방법이 있습니까? 이것에 대한 세계적인 통지?

+0

무엇을 하시겠습니까? 사용자가 전체 화면 게임을 시작하면 게임이 진행되는 동안 사용자가 앱과 그래픽으로 상호 작용하지 않으며 앱의 화면 해상도가 복원되기 때문에 앱에서 이에 대한 조치를 취하지 않아야합니다 게임이 끝나면 – user57368

+1

이것은 내 응용 프로그램을위한 것입니다 : http://joystickmapper.com/ 배경에서 실행되며, 바탕 화면과 다른 해상도를 사용할 때 몇 가지 게임에서 발생하는 문제를 해결하기 위해 화면 해상도가 변경되는지 알아야합니다. – Rodrigo

답변

1

는 당신은 아마 이미이 페이지를 보았다 :

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

은 또한 당신이 따라서 대신 NSNotificationCenterNSDistributedNotificationCenter를 사용하는 다른 응용 프로그램에서 알림을 고려해야 보인다

.

+0

그래, 나는 이것을 읽었다. 어쩌면 내가 잘못 읽었을지도 몰라. 나는 다만 확신하기 위하여 두배로 조사 할 것이다. – Rodrigo

+0

어떻게 운임을 냈습니까? 시스템이 이러한 알림을 제공하지 않는다는 것이 이상하게 보입니다. 그래서 당신이 작동하도록 만들면 궁금합니다! – markjs

+0

어떤 이유로 NSDistributedNotificationCenter가 나를 위해 작동하지 않습니다. NSNotificationCenter를 사용할 때 알림이 나타납니다. 그러나 일부 응용 프로그램이 화면 해상도를 일시적으로 변경하고 종료시 이전 해상도로 돌아갈 때 내 응용 프로그램은 단순히 알림을받지 못합니다. 이것이 버그인지 기능인지 확실하지 않습니다. – Rodrigo

관련 문제