![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Доброго времени суток!
Написал ПО которое с заданным интервалом времени, постит заданный текст в некое окно. Точнее в некий Edit компонент окна. Так вот, текст вставляет, а вот с отправкой этого текста большоя проблема! Если открыть программу и поставить фокус на полее ввода, то enter успешно отправляется и сообщения отсылаются. А вот если программу свернуть, то сообщения вставляются, но не отсылаются. пробовал и SendMessage, и Keybrd_event и PostMessage, и отправку WM_CHAR #10 #13. Это все работает, но только в том случае если программа сейчас в фокусе, а конктретно нужное мне поле ввода. Как заслать нажатие Enter в поле ввода другой программы, при условии что программа скрыта с экрана(свётрнута в трей) и находится не в фокусе? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Можно это попробовать
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 11.07.2011 в 16:10. |
![]() |
![]() |
![]() |
#3 | |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
![]()
тогда уж:
Код:
Цитата:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
|
![]() |
![]() |
![]() |
#4 |
кривокодер ;)
Форумчанин
Регистрация: 20.06.2008
Сообщений: 707
|
![]()
Извиняюсь за дилетантство...
А зачем эмулировать нажатие интера в эдите? Не проще эмулировать нажатие кнопки около этого эдита? В большинстве программ так интерфейс и построен. А обработка интера - просто перехватывается и делает то же самое, что и кнопка рядомстоящаа (или другой контрол)...
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид} |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Аватар, что-то мне подсказывает что в окне без фокуса этот код не сработает(Пробовал все вариации отправки нажатия Enter(Ну которые нашёл в интернетах)). Но я последним lParam ставил 0. Попробую ваш вариант=)
raxp, Увы HWND эдита я отлично получаю и даже пишу туда нужный мне текст. Проблема в отправке Enter'а в Edit программы, которая не в фокусе на данный момент. Johnson, в том-то и дело. Был бы рядом батон какой-нибудь, который отправлял бы текст, я бы на него давил. С этим особо проблем никогда и небыло. Но у меня только поле ввода(edit), которое воспринимает нажатие Enter'а как комманду "Отправить сообщение в чат". И ничиго более. _ADDED_ В обшщем код от raxp и Аватар тоже не срабпатывает. Сейчас засниму флэшку и покажу. _ADDED_ Вот элюстрация мой проблемы(Во вложении flv запись) Последний раз редактировалось Человек_Борща; 11.07.2011 в 21:35. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
![]()
Сделай захват какой нибудь клавиши например F12, будет работать даже если форма не фокусе.
Последний раз редактировалось Aliens_wolfs; 11.07.2011 в 23:29. |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
А смысл? Я делаю тоже самое только при помощи таймера.
На видио проекрасно показано что без фокуса ENTER не посылается. а #10#13 считается переходом на новую строку(не enter) |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Возможно беда в том, что событие по Enter срабатывает тогда, когда фокус ввода на этом эдите. А вот как дела с фокусом ввода в свернутых окнах не знаю, только могу предположить, что ActiveControl=nil
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
![]()
Когда форма не фокусе она не отвечает на нажатие клавиш поэтому нужно конкретную клавиши привязать она будет за ней следить постоянно, а таймер возможно пропускает событие клавиш либо будет не всегда срабатывать. Попробуй мой пример помести туда свой код где идет работа с сообщениями
Последний раз редактировалось Aliens_wolfs; 11.07.2011 в 22:44. |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Я правильно понял, что предлагается править исходник скрытой формы? Но похоже это чужая прога. Я правильно понял?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нажатие Enter | Кристинка89 | Общие вопросы C/C++ | 2 | 18.05.2011 18:40 |
Повторное нажатие Enter | _-Re@l-_ | Общие вопросы Delphi | 10 | 28.01.2011 23:48 |
Нажатие Enter | Alana | Общие вопросы Delphi | 4 | 27.10.2010 14:31 |
Двойное нажатие клавиши Enter | Nezaam | Помощь студентам | 4 | 18.08.2010 17:00 |
Нажатие Enter | Screame | Microsoft Office Excel | 1 | 01.11.2009 17:02 |