當Mac OS X屏幕保護程序激活或進入睡眠狀態(最好使用可可)時,是否有辦法觸發某個操作?當屏幕保護程序與Cocoa激活時檢測
4
A
回答
7
您可以註冊各種分佈式通知 - 在10.6上,我看到了com.apple.screenIsLocked/screenIsUnlocked和com.apple.screensaver.didstart/willstop/didstop。 (較舊版本的Mac OS X可能沒有包含所有這些通知。)您可以觀察Notification Watcher發生的通知。
另請參閱this answer。
使用SWIFT
1
快速片段:
NSDistributedNotificationCenter.defaultCenter().addObserver(
self,
selector: "screenIsLocked:",
name: "com.apple.screenIsLocked",
object: nil)
與自我是你要註冊的觀察者,選擇是函數處理器,名稱的通知時的名稱,對象的可選通知發件人其中,如果從指定的唯一的通知這個發送者被傳遞給觀察者。
另請注意,您可以傳遞nil作爲名稱並接收發送的所有通知,而不僅僅是指定的通知。
PS:有很多通知可以訂閱,所以請確保您知道他們是哪個對象的成員以便能夠使用它們。例如,檢出NSDistributedNotificationCenter,NSNotificationCenter和NSWorkspace通知。
相關問題
- 1. 檢查屏幕保護程序激活
- 2. 當屏幕保護程序激活時,切換SCROLL LOCK
- 3. 當屏幕保護程序不再顯示時檢測
- 4. 如何激活Cocoa/Obj-C中的自定義屏幕保護程序預覽?
- 5. 運行AutoHotKey腳本啓動屏幕保護程序激活
- 6. 檢測正在運行的屏幕保護程序與xlib
- 7. 檢查屏幕保護程序激活使用Mac bash腳本命令
- 8. Xcode與openGL的屏幕保護程序
- 9. iphone屏幕保護程序(帶時鐘)
- 10. 當應用程序加載時激活iPhone鎖定屏幕
- 11. 每當屏幕解鎖時激活應用程序
- 12. 如何檢測X11屏幕保護程序?
- 13. 檢測不活動並取消屏幕保護
- 14. 製作桌面的一個角落激活屏幕保護程序
- 15. 當屏幕保護程序打開時,全屏java應用程序最小化
- 16. 當瀏覽器不是shell時啓動屏幕保護程序
- 17. OSX獅子錯誤:啓動屏幕保護程序,當程序
- 18. 檢測當應用程序保持屏幕
- 19. 接收屏幕保護程序通知
- 20. 捕捉屏幕保護程序事件
- 21. 屏幕保護程序隱藏桌面
- 22. 屏幕保護程序的Android代碼
- 23. applicationWillResignActive x屏幕保護程序
- 24. Windows UWP作爲屏幕保護程序?
- 25. iPhone應用內屏幕保護程序
- 26. Android禁用屏幕保護程序
- 27. 動畫屏幕保護程序
- 28. 在Windows 7上監視屏幕保護程序活動失敗
- 29. Windows C++屏幕保護程序不會回到屏幕上
- 30. 如何檢測應用程序激活
http://stackoverflow.com/questions/1419531/mac-screensaver-start-event可能的重複 – 2010-05-02 04:07:46