Подтвердить что ты не робот

Возможно ли узнать, какой текст отображается рядом с мышью?

Я просто планирую реализовать некоторые функции, такие как "Look up in Dictionary", когда мышь нависает над текстом/словами на экране на платформе Mac OS X.

Как я могу отображать текст/слова рядом с мышью на экране, даже если они не находятся в моем собственном приложении.

Что я могу сделать:

  • Использование WorkSpace для определения того, какие приложения запущены.
  • Используйте API доступности, чтобы узнать верхний UIElement на экране.
  • Используйте API доступности, чтобы узнать выбранную строку UIElement, если приложение использует что-то вроде NSTextView (я получаю его, проверяя атрибут "выделенный текст" UIElement).

То, что я не могу сделать, это:

  • Некоторые приложения, такие как Safari, с использованием инфраструктуры WebKit, единственными вещами, которые я могу получить от API Accessibility, являются атрибут value, который является текущим содержимым HTML, и некоторые атрибуты, называемые "AXTextMarker". Эти атрибуты не могут быть найдены в Google или любом документе.
  • Некоторые приложения даже не поддерживают API Accessibility, то, что я могу получить, - это просто снимок экрана.

Есть ли способ вызвать системный API для распознавания текста в изображении? В Snow Leopard есть функция распознавания рукописного ввода для ввода на китайском или японском языке, так что это должна быть функция OCR? Я не могу найти для него открытый API.

4b9b3361

Ответ 1

мы можем получить текст любого текстового поля и т.д. в окнах с помощью окон hook.i не пробовали на Mac, но вы можете посмотреть следующую статью SetWindowsHookEx для Mac OS X?

Ответ 2

Что вы можете сделать, так это: Используйте мета-ключ + ключевой аккорд, чтобы активировать словарь после выбора текста. На самом деле я нахожу это невероятно неприятным, если всякий раз, когда я немного приближаюсь к тексту, появляется словарь. Особенно потому, что я читал огромное количество белых работ, где почти любой словарь, который можно было бы вообразить, большую часть времени захлебывал бы и умирал.