3
A
回答
5
你的答案就在石英。
#include <ApplicationServices/ApplicationServices.h>
CGError CGDisplayRegisterReconfigurationCallback (
CGDisplayReconfigurationCallBack proc,
void *userInfo
);
然後你的PROC樣子:
MyCGDisplayReconfigurationCallBack(
CGDirectDisplayID display,
CGDisplayChangeSummaryFlags flags,
void *userInfo) {
if (flags & kCGDisplayAddFlag || flags & kCGDisplayRemoveFlag) {
DoStuff(display, flags, userInfo);
}
}
0
如果有人有興趣在雨燕2.3這樣做,我劃我的頭一會兒翻譯@iluvcapra的代碼:
let userData = UnsafeMutablePointer<ViewController>(Unmanaged.passUnretained(self).toOpaque()) //use the class name of your "self" for future reference inside the callback
CGDisplayRegisterReconfigurationCallback({ (display: UInt32, flags: CGDisplayChangeSummaryFlags, userInfo: UnsafeMutablePointer<Swift.Void>) in
let mySelf = Unmanaged<ViewController>.fromOpaque(COpaquePointer(userInfo)).takeUnretainedValue() //change here to your class name
if flags.rawValue & CGDisplayChangeSummaryFlags.AddFlag.rawValue > 0 {
//do stuff on connect
mySelf.someFunction()
} else if flags.rawValue & CGDisplayChangeSummaryFlags.RemoveFlag.rawValue > 0 {
//do stuff on disconnect
}
}, userData)
相關問題
- 1. 如何檢測PHP套接字監聽器上的客戶端連接斷開?
- 2. TCP連接斷開檢測(如果中間連接斷開)?
- 3. 如何檢測win32上的datacard連接和斷開連接事件
- 4. 檢測jsch斷開連接
- 5. 在Java中,是否可以監聽外部監視器的連接/斷開連接?
- 6. 如何檢測網絡斷開連接?
- 7. 如何檢測erl_call斷開連接
- 8. socket.io斷開連接事件,客戶端斷開連接檢測
- 9. 檢測套接字斷開連接
- 10. 如何檢測耳機是否連接到Mac或斷開
- 11. 如何檢測net.CreateServer內部斷開連接的客戶端?
- 12. 檢測eventmachine斷開連接並測試重新連接
- 13. 如果外部ADO連接已連接或斷開,如何檢測組件內部?
- 14. Wifi連接 - 斷開監聽器
- 15. 如何檢測socket.io上的斷開連接?
- 16. 如何檢測Linux上扭曲的非正常斷開連接?
- 17. 如何檢測C中的套接字斷開連接#
- 18. 如何檢測Thrift中的服務器斷開連接?
- 19. 當監視器,鼠標,鍵盤斷開連接時,Windows可以檢測到嗎?
- 20. 如何在連接後測試TCPClient斷開的連接?
- 21. Socket.io檢測斷開連接原因
- 22. 檢測斷開連接Winsock C++
- 23. Xamarin.Android檢測攝像頭斷開連接
- 24. 檢測STM32L442 USB斷開連接
- 25. 檢測斷開持久捲曲連接
- 26. Android 2.1檢測藍牙音頻連接/斷開連接
- 27. 檢測USB連接/斷開連接而不通過輪詢GetMessage()
- 28. 檢測可穿戴式連接/從Android手機斷開連接
- 29. 在C#中檢測網絡狀態(連接 - 斷開連接)
- 30. 在Delphi中檢測TCP連接/斷開連接
感謝您的幫助 – jakikiller
該檢查可以優化爲易於閱讀的標誌和(kCGDisplayAddFlag | kCGDisplayRemoveFlag)。 – 2013-01-24 18:05:10
或者你可以使用更高級別的通知:'NSApplicationDidChangeScreenParametersNotification' –