Cocoa에서 간단한 응용 프로그램을 개발 중이며 응용 프로그램이 전체 화면 모드로 실행되고 있는지 여부를 감지하고자합니다. 이것이 가능한가?Mac에서 전체 화면 응용 프로그램 감지
runningApplications API를 통해 다양한 정보를 얻을 수 있지만 전체 화면 모드와 관련된 특정 속성은 없습니다. 아무도 그것을 감지하는 방법을 알고 있습니까? 이에 대한 탄소 이벤트 또는 API가 있습니까?
Cocoa에서 간단한 응용 프로그램을 개발 중이며 응용 프로그램이 전체 화면 모드로 실행되고 있는지 여부를 감지하고자합니다. 이것이 가능한가?Mac에서 전체 화면 응용 프로그램 감지
runningApplications API를 통해 다양한 정보를 얻을 수 있지만 전체 화면 모드와 관련된 특정 속성은 없습니다. 아무도 그것을 감지하는 방법을 알고 있습니까? 이에 대한 탄소 이벤트 또는 API가 있습니까?
어쨌든 너무 많은 옵션을 시도하고 나는 우리가 달성 할 수있는 방법을 발견 한 NSWorkspace을 파고 후이 알림
"NSWorkspaceActiveSpaceDidChangeNotification"
이 공백이 변경 될 때애플 문서는 "게시 말한다가있다 자신이다 발생했습니다. " 그래서 우리는 그것을 사용하여 등록 할 수 있습니다. 이것과 함께 우리는 NSWindow의 속성 "isOnActiveSpace"를 사용할 필요가있다. 그래서 우리는 애플리케이션이 풀 스크린 모드로 들어가서 빠져 나올 때이를 감지 할 수있다.
나는 봄에 이것을 만났고 영원히 작동하도록 노력했습니다. 내 코드를 약간의 GitHub 프로젝트로 패키징하는 일을 끝 냈지만 여기에서 그것을 공유하는 것을 완전히 잊었다. 이 사람에 유용
https://github.com/shinypb/FullScreenDetector
희망.
-[NSApplication currentSystemPresentationOptions]
키 - 값 관찰을 원합니다. 활성 앱이 전체 화면 모드 인 경우 속성에 NSApplicationPresentationFullScreen
이 포함됩니다.
http://stackoverflow.com/questions/7138194/mac-os-x-lion-detect-if-another-application-is-running-in-full-screen-mode?rq=1 유사 항목 – Jay
@ Jay 이러한 링크를 가리켜 주셔서 고맙습니다. 모든 응용 프로그램이 전체 화면 모드로 실행 중이고 다른 응용 프로그램에 경고 메시지가 표시되면 질문이 하나 더 생깁니 까? 또한 애플의 업데이트와 비슷한 토스트 메시지를 표시하는 OSD의 경우에는 어떻게됩니까?이 답변을 찾으려면 도움을 청하십시오. –
흠, 애플리케이션을 활성화하여 http://stackoverflow.com/questions/5269116/make-a-nsalert-the-topmost-window?rq=1과 같은 알림을 표시 할 수 있습니다. – Jay