2010-01-22 45 views
1

使用輔助功能API,我深入瞭解了一系列元素並找到了我感興趣的特定AXUIElementRef(全部在外部應用程序中)。如何檢查此元素當前是否具有鍵盤焦點?如果不是,我該如何設置它?輔助功能API - 將鍵盤焦點設置爲特定元素

類似於使用AXUIElementSetAttributeValue將kAXMainAttribute設置爲true(這適用於窗口 - 感謝Peter!)。

PS - 我試過kAXFocusedAttribute,似乎沒有做這項工作。也許它是隻讀的?

回答

1

PS - 我試過kAXFocusedAttribute,似乎沒有做這項工作。也許它是隻讀的?

恰恰相反。閱讀標題:

可寫?是的,對於任何可聚焦的元素。在所有其他情況下沒有。

請確保您已激活該應用程序(通過設置它的kAXFrontmostAttribute爲true),並取得了窗口鍵(通過設置它的kAXFocusedAttribute爲true)你給窗口焦點控制之前(通過設置kAXFocusedAttribute爲true)。

+0

我收到了一個錯誤代碼 - 25205 - 從set方法返回。不知道在哪裏可以找到這可能是什麼 - 我甚至不知道我在這一點上使用的是什麼語言...... 大概如果有元素的層次結構,我需要依次關注它們中的每一個我想要的那個?或者一旦我在應用程序和窗口中,這足夠嗎? – 2010-01-22 21:28:43

+0

錯誤在AXError.h中命名。你正在使用C(可能在Objective-C中)。 – 2010-01-22 21:39:12

相關問題