![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
lazutov |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 17.4.2008 Репутация: нет Всего: нет |
Здравствуйте,
как осуществить получение СЛОВА из под курсора из других приложений(IE, FireFox, Outlook...)? Где-то (возможно даже на этом форуме) видел то ли готовое решение, то ли библиотеку; поиск не помог. Подобное видел в приложениях: TranslateIT, Lingvo Кто чем может помочь? Заранее спасибо. |
|||
|
||||
Rrader |
|
|||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 29 Всего: 191 |
Это сделано на искусственных нейросетях. Касательно Лингво 12 могу сказать на 100% - используется библиотека LvHook.dll, в которой помимо прочих устанавливается хук на WH_MOUSE.
В дополнение к этому там есть еще такие библиотеки, как FineNet.dll и FineObj.dll - файлы достались от небезызвестного FineReader'a, сети отлично обучены. Лингво анализирует положение мыши и настройку кнопок (GetKeyState) для перевода. Фотографирует область (получает hDC, определяет выравнивание текста, производит координатную обработку) и пытается произвести Text recognition. |
|||
|
||||
lazutov |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 17.4.2008 Репутация: нет Всего: нет |
мда, хотя бы примерчик на это дело...
|
|||
|
||||
volvo877 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2073 Регистрация: 15.11.2004 Репутация: 5 Всего: 116 |
Ну, начать можешь с самой первой ссылки внизу страницы, в разделе "А здесь смотрели?" ...
|
|||
|
||||
lazutov |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 17.4.2008 Репутация: нет Всего: нет |
Прошёлся по интернету.
везде советуют юзать WindowFromPoint и WM_GETTEXT. но вот вопрос: как их синхронизировать? Как получть handle элемента с текстом? |
|||
|
||||
Rrader |
|
|||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 29 Всего: 191 |
Это бессмысленно. Слово из под курсора так не получить (в браузерах все отрисовывается). Вперед на BaseGroup изучать алгоритмы нейронных сетей. По теме: классификация образов. |
|||
|
||||
ne0n |
|
|||
PlayBoy ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 5.8.2005 Где: Н.Новгород Репутация: 4 Всего: 11 |
Rrader, Ыыыы да не обязательно извращаться с нейросетями, можно обычными шаблонами обойтись.
|
|||
|
||||
lazutov |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 17.4.2008 Репутация: нет Всего: нет |
Соответственно имеем приложение.
Пусть, например, браузер FireFox. Соответственно, текст отрисовывается в РАЗНЫХ Элементах. Рисунок в аттаче: Вот ,например, так раполагаются разные элементы в Firefox (выделены прямоугольниками). Вопрос: как по коррдинатам мыши получить координаты и размеры эмемента. ![]() Присоединённый файл ( Кол-во скачиваний: 33 ) ![]() |
|||
|
||||
Alix |
|
|||
![]() L45 ![]() ![]() Профиль Группа: Участник Сообщений: 581 Регистрация: 4.5.2005 Где: Pskov/Spb Репутация: 3 Всего: 23 |
Есть вариант с написанием компонента для FireFox, которому дают координату экранную, которая простыми махинациями превращается в координату на окне текущей страницы. Далее зная ее можно выловить элемент, в котором находится искомое слово, например, DIV или A. Как дальше, честно говоря, не знаю. В принципе, то что надо сделать чтобы работало досюда, я могу объяснить, правда писать придется на Си, т.к. под дельфи я библиотек mozill'ы не встречал, а самому было лень переводить.
С другой стороны не думаю, что все так безысходно, т.к. если сам браузер может определить что там за слово (кстати, если оно выделено, то всё еще проще), то и необходимый интерфейс для компонентов должен предоставлять, просто я так глубоко этим не интересовался. Конечно, кроме случаев когда слово - картинка. -------------------- Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью (с) Л. Толстой High tech. Low live. (с) Gardner Dozois |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
хм.. просто на изображениях нифига не переводит текст... а на лабелах переводит ![]() Это сообщение отредактировал(а) MetalFan - 29.10.2008, 18:39 -------------------- There are always someone smarter than you... |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
исследую проблему...
наткнулся на платную и недешевую библиотеку - Text Capture Component - GetWord 3.1 можно скачать заценить... немножко поковыряв ее можно прийти к выводу, что там осуществляется попытка перехвата TextOut'а. также была замечена функция AccessibleObjectFromPoint... в аттаче эксперимент с ее использованием. копаем дальше? Присоединённый файл ( Кол-во скачиваний: 60 ) ![]() -------------------- There are always someone smarter than you... |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
никому не интересно... ну и ладно)
-------------------- There are always someone smarter than you... |
|||
|
||||
lazutov |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 17.4.2008 Репутация: нет Всего: нет |
[Fatal Error] IAccTest_Form.pas(7): File not found: 'oleacc.dcu'
кинте недостающее ![]() |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
lazutov, нет делфи на этой машине. в 2006 уже точно есть такой файлик...
приаттачил Это сообщение отредактировал(а) MetalFan - 30.10.2008, 22:38 Присоединённый файл ( Кол-во скачиваний: 68 ) ![]() -------------------- There are always someone smarter than you... |
|||
|
||||
Qu1nt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 602 Регистрация: 13.1.2007 Репутация: 5 Всего: 50 |
Работает. Делаем компонент и начинаем зарабатывать $ = )
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |