2011-07-04 65 views
0

我的應用程序有一個NSStatusItem和一個CGEventTap。每當您單擊NSStatusItem時,它會在Menu或NSStatusitem本身再次接受事件之前掛起幾秒鐘。CGEventTap + NSStatusItem問題

之後,事件點擊被禁用,最有可能感謝狀態項目。爲什麼這兩個碰撞?事件點擊只能在監聽,而我在其他應用程序中完全沒有問題。

eventTap = CGEventTapCreate(kCGSessionEventTap, kCGHeadInsertEventTap, 1,CGEventMaskBit(NX_SYSDEFINED) | (1 << kCGEventKeyDown) | (1 << kCGEventKeyUp) | (1 << kCGEventMouseMoved), printEventCallback, NULL); 

回答

0

函數的第三個參數應該是1,在實際代碼中仍然是0。如果它的1那麼它的一個Listen CGEventTap因此不能修改或過濾事件。

這也解決了一個事件點擊可能與遊戲Minecraft一起的問題。因此,如果您的CGEventTap只需要監聽而不需要過濾,請確保該參數設置爲0x1或1