簡體   English   中英

LSUIElement 應用程序響應

[英]LSUIElement application be responsive

我有一個應用程序,其中我將 LSUIElement 鍵設置為 1,以便它在后台運行並且不在 Dock 中顯示圖標。 我的意願是讓應用程序響應擊鍵或鼠標事件。 實際上主要的 window 僅在應用程序啟動時出現。 在主 window 可見的情況下,擊鍵被正確處理,但如果我關閉它,就無法再次顯示它(因此擊鍵被忽略)。 我希望我的應用程序在我按下特定組合鍵的任何時候都能做出響應(就像 Scribblet 對那些知道它的人所做的那樣)。 誰能告訴我在哪里可以找到有關如何執行此操作的信息?

狀態欄應用程序僅處於活動狀態,因此您的應用程序只能在 window 或菜單已打開時接收事件。

您的應用程序可以通過設置Event Tap來實現“熱鍵”:

CGEventTapCreate(kCGSessionEventTap,
                 kCGTailAppendEventTap,
                 kCGEventTapOptionDefault,
                 kCGEventKeyDown
                 myEventTapCallback,
                 NULL);

這將允許您的應用程序在它們被路由到其他應用程序之前檢查keyDown事件。 請參閱回調以了解您的回調 function 的外觀和行為方式。

還有一個可能更易於使用的 Cocoa class 由 Dave DeLong 編寫,可在 GitHub 上找到: DDHotKey

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM