2013-04-08 35 views
6

Kakao'da basit bir uygulama geliştiriyorum ve herhangi bir uygulamanın tam ekran modunda çalışıp çalışmadığını belirlemek istiyorum. Mümkün mü?Mac'te tam ekran uygulamalarının algılanması

runningApplications API'sı aracılığıyla çeşitli bilgiler edinebilirim, ancak tam ekran moduyla ilgili belirli bir özellik yoktur. Herhangi biri nasıl algılandığını biliyor mu? Bunun için herhangi bir karbon olayı veya API var mı?

+1

Benzerlerine http://stackoverflow.com/questions/7138194/mac-os-x-lion-detect-if-another-application-is-running-in-full-screen-mode?rq=1 – Jay

+0

@ Jay Bu linkleri işaretlediğiniz için teşekkürler, herhangi bir uygulama tam ekran modunda çalışıyorsa başka bir uygulama var ve başka bir uygulama bir uyarı mesajı verirse ne olur? ve ayrıca Apple'ın güncelleme özelliklerine benzeyen OSD benzeri bir tost mesajı için ne yapıldığını biliyor musunuz? Lütfen bu cevapları bulmama yardım edin. –

+0

Hmm, uyarının http://stackoverflow.com/questions/5269116/make-a-nsalert-the-topmost-window?rq=1 adresinde gösterildiği şekilde uygulamanızı etkinleştirmek isteyebilirsiniz? – Jay

cevap

2

neyse pek çok seçenek denemek ve ben biz elde edebilirsiniz geçtiği yol bulduk NSWorkspace içine kazma sonra bu bildirim

"NSWorkspaceActiveSpaceDidChangeNotification"

bir Spaces değiştirdiğinizde

Apple doc "Yayınlanan diyor sahiptir onların oluştu." böylece kullanarak kayıt olabiliriz. bununla birlikte, NSWindow'un "isOnActiveSpace" özelliğini kullanmamız gerekiyor, bu sayede uygulamanın tam ekran moduna girip çıktığı zaman tespit edebiliyoruz.

+0

"NSWorkspaceActiveSpaceDidChangeNotification" bildirimine gözlemci eklemeye çalıştım. Ancak sadece hata ayıklama modunda çalışır. Serbest bırakma modunda herhangi bir sistem kısıtlaması var mı? – Gon

+0

Bu, 10.6 ve sonrası için geçerlidir .. bir kez olsun çapraz kontrol edin. Aksi takdirde herhangi bir resrtiction bu işe yaramaz. –

+0

Garip. Onu kazacağım. – Gon

2

Anahtar değer vermek istediğiniz -[NSApplication currentSystemPresentationOptions]. Aktif uygulama tam ekran modunda olduğunda, bu özellik NSApplicationPresentationFullScreen'u içerir.