|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.03.2011, 22:18 | #1 |
Регистрация: 24.03.2011
Сообщений: 7
|
Активировать окно...
Пишу программку на Delphi 7, в Windows 7. Не могу разобраться как активизировать окно внешнего приложения программно - так сказать эмулировать эффект щелчка мышкой по этому окну. Помогите разобраться, пожалуйста.
Последний раз редактировалось klmmn; 24.03.2011 в 22:27. |
24.03.2011, 22:56 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
MSDN SetFocus
|
25.03.2011, 00:46 | #3 |
Регистрация: 24.03.2011
Сообщений: 7
|
Вобщем, вот кусок кода, что бы было понятней. В стороке - SetFocus(WndP); - компилятор выдаёт ошибку, что я не правильно сделал? В момент выполнения процедуры TLinker.Timer1Timer(Sender: TObject); нужное окно не активировано... Вопрос остаётся открытым - как активировать окно внешней программы?
Поясню относительно текстового полея окна внешней программы - при активизации мышкой окна (нужно активизировать программно), курсор автоматически помещается в текстовое поле, в которое процедура должна вводить текст. Вдобавок, если просто скоприровать текст в поле и нажать энтер - ничего не происходит. Работае только побуквенный ввод с клавиатуры. Код:
Последний раз редактировалось klmmn; 25.03.2011 в 07:31. |
25.03.2011, 07:10 | #4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
какую ошибку?
|
25.03.2011, 07:28 | #5 |
Регистрация: 24.03.2011
Сообщений: 7
|
Вот эти ошибки -
Код:
Последний раз редактировалось klmmn; 25.03.2011 в 07:31. |
25.03.2011, 12:06 | #6 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
судя по коду, вы хотите нажать клавишу в неком приложении в неком окне. Нажатие клавиши можно послать в определенное окно через SendMessage или PostMessage и без активации окна, приложения/
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
25.03.2011, 15:56 | #7 | ||
Регистрация: 24.03.2011
Сообщений: 7
|
Цитата:
Насчёт того, что можно без активации окна, не знаю. Поле окна внешней программы ведёт себя немного странно при работе вручную - это или глюк её или так было задумано. Опишу подробнее, чтобы было понятно... Курсор автоматически помещается в поле ввода при активации внешнего окна (сдесь странностей нет). Далее... В поле нужно вводить поисковый запрос только с клавиатуры и нажать кнопку Ентер (кнопки типа "Найти" - нет), после этого активизируется поисковый процесс - это единственный рабочий вариант. Если просто скопировать строку в поле и нажать Ентер - ничего не произойдёт. Стереть сообщение в этом поле невозможно. Чтобы ввести новую строку вместо старой, нужно нажать кнопку Ентер или последовательно деактивировать и снова активировать окно с полем ввода - тогда при введении нового поискового запроса старый стирается и вводятся новые символы. Всвязи с такими странностями этого внешнего поискового окна при работе с ним вручную - я хотел полностью эмулировать рабочий вариант ручного ввода с клавиатуры в программе. Попробовал сделать всё же ввести с помощью SendMessage - Цитата:
Последний раз редактировалось klmmn; 25.03.2011 в 16:35. |
||
26.03.2011, 19:23 | #8 |
Регистрация: 24.03.2011
Сообщений: 7
|
Вобщем разобрался, как пользовать функцию SendMessage для ввода строки побуквенно:
Код:
Вобщем разобрался, как пользовать функцию SendMessage: Но как я и предполагал, нужно всё равно активировать окно (эмуляция клика мышкой по окно). Пробовал так - Код:
Как полностью сэмитировать эфект клика мышкой по заголовку окна - чтобы оставалось только одно активное окно нужное мне? Помогите разобраться, пожалуйста. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Активировать гиперссылки | Verano naranjo | Microsoft Office Excel | 1 | 19.01.2011 12:11 |
Как активировать кнопку? | Uzmaster | Microsoft Office Access | 5 | 01.01.2010 19:56 |
Как активировать в окне программы Mathcad окно Математика | Tancha | Софт | 1 | 30.11.2008 13:02 |
Активировать всплывающую подсказку | Илюха | Общие вопросы Delphi | 6 | 13.12.2007 16:35 |
Как активировать чужое приложение | Hintman | Win Api | 3 | 30.04.2007 16:24 |