|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.08.2014, 21:57 | #1 |
Регистрация: 20.08.2014
Сообщений: 5
|
Перенаправление вывода с неконсольной программы
Здравствуйте! Задача такова: есть программа для голосового ввода RealSpeaker (сайт realspeaker.net). В трее висит окно, при произношении голосом пользователю нужно поставить курсор в любое поле ввода (в ворд, браузер, консоль итп) и слова будут преобразовываться в текст в данном поле. Мне нужно сделать так, чтобы текст, генерируемый программой не попадал в поле ввода, а перехватывался моей программой (или перенаправлялся в файл).
Погуглив, пытался перенаправить в файл через stdoutput: Код:
Заранее спасибо. Последний раз редактировалось Stilet; 20.08.2014 в 22:35. |
20.08.2014, 22:38 | #2 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
I'm learning to live...
|
||
21.08.2014, 00:10 | #3 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
Только следует учесть то, что поле ввода может заполнять не только RealSpeaker, но и другая программа или просто человек с клавиатуры. Не знаю как устроена эта программа, но первое что приходит на ум так это либо хуки с проверкой откуда ввод идёт, либо какой-нибудь инжект или другая бяка в этом роде.
|
21.08.2014, 06:57 | #4 |
Регистрация: 20.08.2014
Сообщений: 5
|
А поподробней можно насчет хука в дельфи? Какие-нибудь рабочие примеры?
Последний раз редактировалось Lexus_; 21.08.2014 в 07:06. |
21.08.2014, 08:02 | #5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
21.08.2014, 08:39 | #6 |
Регистрация: 20.08.2014
Сообщений: 5
|
В принципе с помощью полей ввода получается можно сделать так:
если ввод в активное поле ввода идет с клавы (перед этим в ближайшие х милисекунд нажимались клавиши), то все введенное не трогать; отслеживать буфер обмена и если было скопировано с него в поле ввода - тоже не трогать; а в остальных случаях вырезать из поля и перенаправлять в программу. Однако есть минус: во время работы всей конструкции курсор ввода должен быть обязательно в каком-то (любом) поле. А если я захочу убрать его, сделаю активным другой элемент окна и в это время буду говорить - ничего не сработает, текст никуда не введется. Есть ли какое-то решение? |
21.08.2014, 09:52 | #7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
21.08.2014, 10:40 | #8 |
Регистрация: 20.08.2014
Сообщений: 5
|
Хочу прикрутить к проге голосовой ввод-вывод. С выводом проблем нет никаких - и консольные и неконсольные, данные передавай чем хочешь. А вот со вводом сложнее.
|
21.08.2014, 20:15 | #9 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
21.08.2014, 22:27 | #10 |
Регистрация: 20.08.2014
Сообщений: 5
|
Чтобы текст со спикера поступал только в мою программу и никуда иначе без всяких телодвижений со стороны пользователя
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
перенаправление вывода insmod | Sam Gold | Qt и кроссплатформенное программирование С/С++ | 0 | 19.11.2012 12:55 |
Запуск консоли и перенаправление вывода | ros.pro | Общие вопросы Delphi | 1 | 02.01.2012 18:49 |
Перенаправление стандартного ввода/вывода в файл | Роман Радер | Общие вопросы C/C++ | 1 | 09.01.2010 18:34 |
Перенаправление ввода/вывода | dudeboy | Win Api | 0 | 16.11.2009 11:36 |
перенаправление вывода на консоль в файл | Ulex | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 26.01.2009 15:31 |