Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получить текст(слово)из-под курсора 
:(
    Опции темы
lazutov
Дата 25.7.2008, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 17.4.2008

Репутация: нет
Всего: нет



Здравствуйте,
как осуществить получение СЛОВА из под курсора из других приложений(IE, FireFox, Outlook...)?
Где-то (возможно даже на этом форуме) видел то ли готовое решение, то ли библиотеку; поиск не помог.
Подобное видел в приложениях: TranslateIT, Lingvo
Кто чем может помочь?
Заранее спасибо. 
PM MAIL   Вверх
Rrader
  Дата 26.7.2008, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 29
Всего: 191



Это сделано на искусственных нейросетях. Касательно Лингво 12 могу сказать на 100% - используется библиотека LvHook.dll, в которой помимо прочих устанавливается хук на WH_MOUSE.
В дополнение к этому там есть еще такие библиотеки, как FineNet.dll и FineObj.dll - файлы достались от небезызвестного FineReader'a, сети отлично обучены. Лингво анализирует положение мыши и настройку кнопок (GetKeyState) для перевода. Фотографирует область (получает hDC, определяет выравнивание текста, производит координатную обработку) и пытается произвести Text recognition.


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
lazutov
Дата 26.7.2008, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 17.4.2008

Репутация: нет
Всего: нет



мда, хотя бы примерчик на это дело...
PM MAIL   Вверх
volvo877
Дата 26.7.2008, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 5
Всего: 116



Ну, начать можешь с самой первой ссылки внизу страницы, в разделе "А здесь смотрели?" ...
PM MAIL   Вверх
lazutov
Дата 26.7.2008, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 17.4.2008

Репутация: нет
Всего: нет



Прошёлся по интернету. 
везде советуют юзать WindowFromPoint и WM_GETTEXT.
 но вот вопрос: как их синхронизировать? Как получть handle элемента с текстом?
PM MAIL   Вверх
Rrader
  Дата 26.7.2008, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 29
Всего: 191



Цитата(lazutov @  26.7.2008,  20:28 Найти цитируемый пост)
но вот вопрос: как их синхронизировать? Как получть handle элемента с текстом?

Это бессмысленно. Слово из под курсора так не получить (в браузерах все отрисовывается).  Вперед на BaseGroup изучать алгоритмы нейронных сетей. По теме: классификация образов.


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
ne0n
Дата 27.7.2008, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: 4
Всего: 11



Rrader,  Ыыыы да не обязательно извращаться с нейросетями, можно обычными шаблонами обойтись.
PM MAIL ICQ   Вверх
lazutov
Дата 28.10.2008, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 17.4.2008

Репутация: нет
Всего: нет



Соответственно имеем приложение.
Пусть, например, браузер FireFox.
Соответственно, текст отрисовывается в РАЗНЫХ Элементах.
Рисунок в аттаче: Вот ,например, так раполагаются разные элементы в Firefox (выделены прямоугольниками).
Вопрос: как по коррдинатам мыши получить координаты и размеры эмемента. 
 smile 

Присоединённый файл ( Кол-во скачиваний: 33 )
Присоединённый файл  Untitled.png 7,52 Kb
PM MAIL   Вверх
Alix
Дата 29.10.2008, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


L45
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 4.5.2005
Где: Pskov/Spb

Репутация: 3
Всего: 23



Есть вариант с написанием компонента для FireFox, которому дают координату экранную, которая простыми махинациями превращается в координату на окне текущей страницы. Далее зная ее можно выловить элемент, в котором находится искомое слово, например, DIV или A. Как дальше, честно говоря, не знаю. В принципе, то что надо сделать чтобы работало досюда, я могу объяснить, правда писать придется на Си, т.к. под дельфи я библиотек mozill'ы не встречал, а самому было лень переводить. 
С другой стороны не думаю, что все так безысходно, т.к. если сам браузер может определить что там за слово (кстати, если оно выделено, то всё еще проще), то и необходимый интерфейс для компонентов должен предоставлять, просто я так глубоко этим не интересовался. Конечно, кроме случаев когда слово - картинка.


--------------------
Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью (с) Л. Толстой
High tech. Low live. (с) Gardner Dozois
PM MAIL ICQ Skype   Вверх
MetalFan
Дата 29.10.2008, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 16
Всего: 128



Цитата(Rrader @  26.7.2008,  08:58 Найти цитируемый пост)
Касательно Лингво 12 могу сказать на 100% - используется библиотека LvHook.dll, в которой помимо прочих устанавливается хук на WH_MOUSE.
В дополнение к этому там есть еще такие библиотеки, как FineNet.dll и FineObj.dll - файлы достались от небезызвестного FineReader'a, сети отлично обучены. Лингво анализирует положение мыши и настройку кнопок (GetKeyState) для перевода. Фотографирует область (получает hDC, определяет выравнивание текста, производит координатную обработку) и пытается произвести Text recognition. 

хм.. просто на изображениях нифига не переводит текст... а на лабелах переводит  smile 

Это сообщение отредактировал(а) MetalFan - 29.10.2008, 18:39


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
MetalFan
  Дата 29.10.2008, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 16
Всего: 128



исследую проблему...
наткнулся на платную и недешевую библиотеку - Text Capture Component - GetWord 3.1
можно скачать заценить...
немножко поковыряв ее можно прийти к выводу, что там осуществляется попытка перехвата TextOut'а.
также была замечена функция AccessibleObjectFromPoint...
в аттаче эксперимент с ее использованием. 
копаем дальше?

Присоединённый файл ( Кол-во скачиваний: 60 )
Присоединённый файл  IAccessibleTest.rar 1,41 Kb


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
MetalFan
Дата 30.10.2008, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 16
Всего: 128



никому не интересно... ну и ладно)


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
lazutov
Дата 30.10.2008, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 17.4.2008

Репутация: нет
Всего: нет



[Fatal Error] IAccTest_Form.pas(7): File not found: 'oleacc.dcu'
кинте недостающее smile
PM MAIL   Вверх
MetalFan
Дата 30.10.2008, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 16
Всего: 128



lazutov, нет делфи на этой машине. в 2006 уже точно есть такой файлик...
приаттачил

Это сообщение отредактировал(а) MetalFan - 30.10.2008, 22:38

Присоединённый файл ( Кол-во скачиваний: 68 )
Присоединённый файл  oleacc.pas 31,29 Kb


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Qu1nt
Дата 30.10.2008, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 13.1.2007

Репутация: 5
Всего: 50



Работает. Делаем компонент и начинаем зарабатывать $ = )
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0985 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.