|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.12.2012, 08:16 | #1 |
Форумчанин
Регистрация: 09.07.2011
Сообщений: 185
|
Delphi - asm Нажатие клавиши
Всем привет , помогите с кодм разобраться что то не как не могу
Код:
|
09.12.2012, 08:52 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
первый параметр это хендл окна которому посылаем, второй скан код клавиши.
по сути асм код равен Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
09.12.2012, 09:10 | #3 |
Форумчанин
Регистрация: 09.07.2011
Сообщений: 185
|
Посылаю окну SendMessage или PostMessage не то не другое несрабатывает хендл точно верный проверяю перед отправвкой есть другие функции для отправки клавиши в неактивное окно?
Ассемблерный код тоже что то не каких действий не делает чеш за беда Ну хоть ты лопни ничего не работает hwnd уже отдельно находил программой вставлял прямо в код пробовал вставлять на таймер и делать окно активным всеровно ничего не работает помогите пожалуйста какие ещё функции есть для отправки нажатия Заметил что экранная клавиатура успешно отправляет нажатие кнопки когда работает одна и когда работает с моей программой а моя программа не как не работает похоже что то не так с HWND хоть и находит его Последний раз редактировалось Stilet; 09.12.2012 в 11:29. |
10.12.2012, 07:14 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
посмотрите через Spy++ или аналоги, что получает ваше окно в параметрах сообщений от системы и от вас.
да и в эдите обычно энтер не отображается. вообще идея эмулировать в неактиное окно не ахти, окно легко может это пресечь. экранная клава использует другие функции, и только для активных окон. да и честно говоря тема обсосанная уже тысячи раз... Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
10.12.2012, 07:45 | #5 |
Форумчанин
Регистрация: 09.07.2011
Сообщений: 185
|
А как отправить нажатие активному я использую SetActiveWindow(h); а нотепад не реагирует
|
10.12.2012, 07:49 | #6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
значит не тот хендл видимо.
для строго активного есть SendInput. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
10.12.2012, 07:50 | #7 |
Форумчанин
Регистрация: 09.07.2011
Сообщений: 185
|
кричит видит
Код:
|
10.12.2012, 07:54 | #8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
ввод идет не в это окно, а в Edit внутри.
в комплекте с Делфи обычно идет WinSight, изучите структуру формы интересующего приложения. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
10.12.2012, 08:02 | #9 |
Форумчанин
Регистрация: 09.07.2011
Сообщений: 185
|
нет вы не поняли я не вводил ничего а просто пробовал сделать его активным чтобы убедится что SetActiveWindow работает.
Может я вообще что то не то горожу, мне нужно: Так как не могу отправить в неактивное окно сделать окно активным нажать кнопку и вернуть фокус работающему до этого окну |
10.12.2012, 08:04 | #10 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
вы описание функции не читали как вижу.
вам нужна SetForegroundWindow. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нажатие клавиши | ClMlD | Общие вопросы Delphi | 45 | 27.01.2013 15:17 |
delphi как отследить нажатие клавиши в другом приложении | gufon | Общие вопросы Delphi | 6 | 29.06.2011 22:46 |
[WinApi, Delphi] Как перехватить локальное нажатие клавиши в Edit? | Moriarty | Win Api | 4 | 19.03.2010 16:29 |
Долгое нажатие клавиши в KeyDown как одно нажатие | marina15056 | Общие вопросы Delphi | 7 | 16.08.2009 00:22 |
Нажатие клавиши (Delphi) | VadEr | Помощь студентам | 3 | 08.06.2009 17:00 |