Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++ Builder

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.86
stepanbuchkov
0 / 0 / 0
Регистрация: 15.02.2013
Сообщений: 5
#1

Нажатие кнопки в окне открытой программы другой программой - C++ Builder

13.03.2013, 18:58. Просмотров 3051. Ответов 7
Метки нет (Все метки)

Здравствуйте.
Имею следующую задачу. Необходимо запустить внешнюю программу и с определённой частотой нажимать в ней на кнопку. Подскажите пожалуйста, можно ли данный процесс азапустить выполняться автоматически?

Добавлено через 3 минуты
Из прочтения тем на форуме стало понятно, что запускать можно. Запуск внешнего приложения По поводу возможности нажатия на кнопки нашёл пока только это http://cppbuilder.ru/articles/0193.php . Скажите пожалуйста, значит ли это, что для того, чтобы эмулировать нажатие клавиши в другой программе необходимо знать нэнддл кнопки? Если да, то как его можно узнать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2013, 18:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нажатие кнопки в окне открытой программы другой программой (C++ Builder):

Нажатие кнопки в другом окне - C++ Builder
Нужно сделать нажатие кнопки в другом окне, например: запускаеш программу, запускаеш калькулятор, Моя программа свёрнута, через какое то...

Нажатие кнопки "Подключить" на окне удаленного рабочего стола - C++ Builder
Помогите пожалуйста разобраться нужно программно нажать кнопку "Подключить" на окне удаленного рабочего стола. Нашел следующий код HWND...

Программное нажатие кнопок другой программы - C++ Builder
Извините за измусоленную тему, но не получается сделать: нужно нажать кнопку в окне другой программы, пишу код: AnsiString as =...

Управление другой программой: после открытия программы, в дальнейшем Handle теряется - C++ Builder
Если прога изначально работает, а потом мы ищем ее с помощью FindWindow, тогда handle есть. почему же после открытия программы, в...

Нажатие кнопки приводит к изменению цвета формы и заголовка кнопки - C++ Builder
Помогите пожалуйста так сделать : "Нажатие кнопки приводит к изменению цвета формы на синий, а надпись на кнопке меняется".

Нажатие клавиши в другом окне - C++ Builder
Скажите как можно нажать клавишу например 8 в окне, например калькулятора. При том что оно свернуто (неактивно).

7
_Dimon_
1386 / 549 / 85
Регистрация: 31.10.2011
Сообщений: 1,936
13.03.2013, 20:37 #2
майкрософтовская Spy++, там и хендл, и класс можно узнать
0
Lelik-pahan
1178 / 746 / 75
Регистрация: 25.11.2009
Сообщений: 1,518
Завершенные тесты: 1
13.03.2013, 23:02 #3
поиск рулит! )
Нажатие кнопки в другом окне
Доступ к компонентам внешней программы
0
stepanbuchkov
0 / 0 / 0
Регистрация: 15.02.2013
Сообщений: 5
14.03.2013, 13:37  [ТС] #4
Dimon, спасибо. Попробую так.

Lenik,А можно поконкретнее? Про существование книги Архангельского я знаю. И что по С++ написано уйма мануалов - тоже. Но форум существует ведь не для того, чтобы на вопросы отвесать "читай литературу", а для того, чтобы спросить совета у живых людей.
0
proleha
6 / 6 / 1
Регистрация: 01.06.2012
Сообщений: 103
14.03.2013, 16:18 #5
Давным давно мне надоело вводить логин и пароль в радмин, и написал некую прогу, которая открывала радмин и заполняла логин и пароль и нажимала кнопку соединение.
Делал так!
находим окно которое нам нужно, тоесть ниже в таймере я ождаю окно у которого будет название ("Система безопасности Radmin: " +tr2).c_str()
C++
1
HWND SubjectWindow = FindWindowA(NULL,("Система безопасности Radmin: " +tr2).c_str());
Потом беру по очереди в этом окне заполняю элементы
//тоесть ниже подставляю в каком окне искать элемент с классом edit
C++
1
2
HANDLE hwnd=FindWindowEx(SubjectWindow, NULL, "Edit", NULL);
//это чтото типа последовательного перехода от текущего элемента
Затем найдя заполнял
C++
1
2
3
4
5
6
7
 int nb;
for(int i=1; i<=login.Length(); i++)
{
nb= login[i];
SendMessage(hwnd, WM_CHAR, nb , 0);
 //StrPoisk->Text=StrPoisk->Text+IntToStr(nb);
}
а после переходил в другой элемент
C++
1
2
HANDLE hwnd=FindWindowEx(SubjectWindow, NULL, "Edit", NULL);
//это чтото типа последовательного перехода от текущего элемента
и также его заполнял, а потом переходил на кнопку и нажимал enter
C++
1
2
3
4
HANDLE hwnd3=FindWindowEx(SubjectWindow, hwnd2, "Button", NULL);
 
  PostMessage(hwnd3,WM_KEYDOWN,VK_RETURN,0);
  PostMessage(hwnd3,WM_KEYUP,VK_RETURN,0);


А да если нароешь больше полезного по этой теме выложить не забудь, пригодится ведь когда нибудь
0
Lelik-pahan
1178 / 746 / 75
Регистрация: 25.11.2009
Сообщений: 1,518
Завершенные тесты: 1
14.03.2013, 16:30 #6
Цитата Сообщение от stepanbuchkov Посмотреть сообщение
Lenik,А можно поконкретнее? Про существование книги Архангельского я знаю. И что по С++ написано уйма мануалов - тоже. Но форум существует ведь не для того, чтобы на вопросы отвесать "читай литературу", а для того, чтобы спросить совета у живых людей.
Куда конкрентне? переходим по ссылке, там написано
Цитата Сообщение от LK Посмотреть сообщение
идете сюда: Библиотека VCL и сопутствующие материалы
и читаете про "мечты вуайериста"
разве было трудно найти там в перечне ссылко вот эти две?
Мечты вуайериста - чужие окна
Мечты вуайериста - чужие окна 2

и причём тут вообще оказалась книга Архангельского, я не понял...
1
Avazart
Эксперт С++
7247 / 5419 / 297
Регистрация: 10.12.2010
Сообщений: 24,048
Записей в блоге: 17
14.03.2013, 18:14 #7
Цитата Сообщение от stepanbuchkov Посмотреть сообщение
Скажите пожалуйста, значит ли это, что для того, чтобы эмулировать нажатие клавиши в другой программе необходимо знать нэнддл кнопки? Если да, то как его можно узнать?
Да надо знать хендл, да можно использовать но только если этот хендл существует..
0
stepanbuchkov
0 / 0 / 0
Регистрация: 15.02.2013
Сообщений: 5
14.03.2013, 19:49  [ТС] #8
Lenik, не разглядел их( спасибо.

Спасибо за инфу- буду пробовать.
Если что-то получится, то результаты выложу.
0
14.03.2013, 19:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2013, 19:49
Привет! Вот еще темы с ответами:

Программа эмулирует нажатие клавиш клавиатуры в неактивном окне - C++ Builder
Всем привет! Требуется написать программу которая эмулирует нажатие клавиш клавиатуры в неактивном окне, выбираю процесс, задаю допустим...

Управление другой программой - C++ Builder
Есть сторонняя программа, в окне которой размещены различные элементы, которыми нужно управлять. Например ComboBox. Необходимо менять...

Управление другой программой!! - C++ Builder
Доброго времени суток. Такая проблемка--&gt; Нужно сделать програмку, а точнее диск с автомотической установкой программы. Есть инсталяшка...

Нажатие кнопки - C++ Builder
Суть программы такова. На форме есть одна кнопка, мне надо сделать что б кнопка срабатывала при нажатие на клавишу &quot;G&quot;!!! Как это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru