Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];

Вниз

Отслеживание текста...   Найти похожие ветки 

 
Berzercer ©   (2006-09-25 12:13) [0]

Краткое описание задачи:
Программа должна отслеживать любое взаимодействие с текстом в других программах, т.е. например, если мы в Ворде, то она активируется, если в Фотошопе - нет, если в Фотошопе начинаем писать шрифтом, то активируется. Короче, любое действие с текстовой частью любой программы должно активировать программу.
Возможно ли это и если да, то как?


 
clickmaker ©   (2006-09-25 12:18) [1]

Сорри за банальность, но хуки на клаву.
SetWindowsHook и все такое...


 
Сергей М. ©   (2006-09-25 12:18) [2]


> Возможно ли это


В общем случае не возможно.


 
Berzercer ©   (2006-09-25 13:09) [3]

Что значит в общем? А в частном?
Хуки не пойдут... можно ничего не набирать, а работать с уже готовым текстом.


 
clickmaker ©   (2006-09-25 13:13) [4]


> работать с уже готовым текстом

если "работать" можно вообще не касаясь клавиатуры, тогда и правда невозможно.


 
Сергей М. ©   (2006-09-25 13:14) [5]


> А в частном?


А в частном иногда можно.

Но ведь ты обрисовал задачу именно в общем, без упоминания каких-либо конкретностей. позволивших бы отнести изложенное к тому или иному частному случаю ...


 
Berzercer ©   (2006-09-25 15:07) [6]

Для примера приведу программу Punto Switcher (думаю многим известная), которая меняет раскладку и проверяет орфографию (правда, только при наборе текста) не зависимо от того в какой программе вы находитесь.
Вот нужно что-то подобное, только чтоб еще и с готовым текстом работало, а не только с набираемым.


 
clickmaker ©   (2006-09-25 15:13) [7]


> [6] Berzercer ©   (25.09.06 15:07)

ключевой момент здесь "правда, только при наборе текста"


 
Berzercer ©   (2006-09-25 15:18) [8]

жаль... не уж-то совсем-совсем никак?


 
clickmaker ©   (2006-09-25 15:20) [9]


> [8] Berzercer ©   (25.09.06 15:18)

а что собссно значит, "работать с готовым текстом"?


 
Steep ©   (2006-09-25 15:20) [10]

я конечно мало что в этом смылсю, но возможно виндовс дает какие команды когда выделаешь текст (а как еще можно работать с текстом не выделяя и не печатая его?), еще смотреть на копирование и вставку (при этом смотреть в буфере текст или что еще), ну и на печать букв (если можно отслеживая, просто ли чел "жмет по клаве" или в редактируемом поле (отслеживая фокус))

Но это лишь моя теория (я даже не имею понятия можно ли это сделать и как)


 
Steep ©   (2006-09-25 15:21) [11]

я конечно мало что в этом смылсю, но возможно виндовс дает какие команды когда выделаешь текст (а как еще можно работать с текстом не выделяя и не печатая его?), еще смотреть на копирование и вставку (при этом смотреть в буфере текст или что еще), ну и на печать букв (если можно отслеживая, просто ли чел "жмет по клаве" или в редактируемом поле (отслеживая фокус))

Но это лишь моя теория (я даже не имею понятия можно ли это сделать и как)


 
Steep ©   (2006-09-25 15:22) [12]

я конечно мало что в этом смылсю, но возможно виндовс дает какие команды когда выделаешь текст (а как еще можно работать с текстом не выделяя и не печатая его?), еще смотреть на копирование и вставку (при этом смотреть в буфере текст или что еще), ну и на печать букв (если можно отслеживая, просто ли чел "жмет по клаве" или в редактируемом поле (отслеживая фокус))

Но это лишь моя теория (я даже не имею понятия можно ли это сделать и как)


 
Steep ©   (2006-09-25 15:22) [13]

извеняюсь за три поста...
explorer подвис...


 
Сергей М. ©   (2006-09-25 15:31) [14]


> Berzercer ©   (25.09.06 15:07) [6]
>
> Для примера приведу программу Punto Switcher


Ты хочешь написать его функц.аналог что ли ?


 
Berzercer ©   (2006-09-25 18:10) [15]

нет, писать аналог я не хочу ))) есть совсем другая задумка, но Punto Switcher по функциональности похоже работает в том плане, что ему все равно в какой ты программе, он просто делает свое дело. Мне нужно так же - чтоб, например, весь текст копировался при нажатии гор. клавиш, если он есть. Вообщем, чтоб шла некая обработка любого текста без выделения, без печати, а просто: есть текст - есть обработка, нет - значит нет.


 
ProgRAMmer Dimonych   (2006-09-25 18:38) [16]

А Punto Switcher с выделением текста тоже общается? Никогда не пользовался, но по-моему нет.
Клавиатуру он, скорее всего, именно хуками отслеживает, анализирует и отделяет только буквы, цифры и т.п. А если надо и выделение, то проще всего, наверное, написать что-то, что будет распознавать текст на экране, его выделение, хотя, конечно, такое и MicroSoft"у не снилось...


 
Berzercer ©   (2006-09-25 18:43) [17]

даже не на всем экране, а в любом активном приложении, окне, блоке и т.д. Как я уже приводил пример - Фотошоп: графика - ничего, выделен текстовый блок - обработка! Программа одна, но в зависимости от наличия текста. Уже не знаю, как обяснить *((


 
Vovan#1   (2006-09-25 18:45) [18]

Используй распознавание текста с экрана.


 
Berzercer ©   (2006-09-25 18:48) [19]

>> Используй распознавание текста с экрана.

Если можно немного поподробнее - как это делается...


 
ProgRAMmer Dimonych   (2006-09-25 18:55) [20]

В Яндексе чего-то выдаёт на запрос

"распознавание текста" алгоритм

Может, что-нибудь ценное есть.

Можно тот же запрос в других поисковиках попробовать...


 
ProgRAMmer Dimonych   (2006-09-25 19:02) [21]

http://delphimaster.net/view/8-1159139210/

Там кой-чего есть...



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.53 MB
Время: 0.042 c
2-1159267336
syte_ser78
2006-09-26 14:42
2006.10.15
ожидание documentcomplete


15-1158693219
BreakPoint
2006-09-19 23:13
2006.10.15
Тестирование компонента для Delphi и C++Builder


3-1155893152
BronOS
2006-08-18 13:25
2006.10.15
Ошибка при конвертации типов данных


10-1124372214
Сергей (аноним)
2005-08-18 17:36
2006.10.15
Свой OLE-объект в Word е


2-1159352100
TrainerOfDolphins
2006-09-27 14:15
2006.10.15
Программное возбуждение событий.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский