2010-02-21 50 views
3

我想響應由外部應用程序打開的特定類型的新窗口。我有一些使用某些碳功能查找應用程序和窗口(系統範圍)的一些經驗,所以理論上可以每隔幾秒查看一次。這需要獲得所有打開的窗口的列表,並根據我將要維護的列表進行檢查,並感覺非常笨重。如何接收新窗口打開的通知?

如何在新窗口啓動時獲得簡單,乾淨的通知?我應該使用可訪問性API嗎?如果是這樣,我在尋找什麼?

回答

1

首先,創建一個AXObserver。然後,觀察您認爲您感興趣的任何應用程序的啓動情況。發生此類啓動時,請爲該過程創建一個應用程序AXUIElement,併爲kAXWindowCreatedNotification通知添加您的觀察者。

我懷疑這是否是做任何你想做的最好的方法。您可能會退一步從這個解決方案(即,觀察新窗口)並詢問關於您的目標的另一個問題。

+0

謝謝 - AXObserver正是我所需要的。 我知道這聽起來像是一種奇特的做事方式,但我嚴重懷疑我的具體應用是否有替代方案。 – 2010-02-21 23:19:28