Как получить выделенный текст из приложений, таких как Mail.app в macOS - PullRequest
0 голосов
/ 16 ноября 2018

Ниже приведен фрагмент, который печатает выделенный текст, однако он работает не со всеми приложениями.Например, одно приложение, с которым я знаю, что оно не работает, - это Mail.

Какие атрибуты я должен искать, чтобы получить выделенный текст в таких приложениях, как Mail:)

func getHighlightedText() -> AnyObject? {
    let systemWideElement = AXUIElementCreateSystemWide()
    var focusedElement: AnyObject?
    let focusedCode = AXUIElementCopyAttributeValue(systemWideElement, "AXFocusedUIElement" as CFString, &focusedElement)
    if (focusedCode == AXError.success) {
        var selectedText: AnyObject?
        let textCode = AXUIElementCopyAttributeValue(focusedElement as! AXUIElement, "AXSelectedText" as CFString, &selectedText)
        if (textCode == AXError.success) {
            return selectedText
        }
    }
    return nil
}
sleep(3) #enough time to switch to another app and highlight the text
print(getHighlightedText())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...