Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > C++ Builder 6- управление внешними приложениями


Автор: Романо12 7.8.2013, 14:32
Добрый день, Уважаемые программисты!Столкнулся с проблемой написания кода на С++ для управления внешними приложениями. Знаю, что делается это через Win API функции посредством поиска соответствующего HWND окна.

Суть вопроса. Есть программа Piano FX studio- виртуальное пианино. Необходим программный код на С++ для нажатия клавиш нот в данной программе.

Помогите пожалуйста. Как написать эту программу? Нужна суть- хотя бы нажать одну клавишу. То есть как обработчик события ButtonClick.
Заранее спасибо!

Автор: AntonChik 13.8.2013, 09:06
стопроцентный вариант: по нажатию кнопки своей физической клавиатуры программно перемещай мышку в нужное место и программно тыкай)

Автор: Романо12 13.8.2013, 09:28
А можно привести пример с кодом?

Автор: AntonChik 13.8.2013, 16:41
Код

TPoint A;
GetCursorPos(&A); // узнать текущее положение мыши
int x=A.x+10;
int y=A.y+10;
SetCursorPos(x,y);// - установить новое положение мыши
mouse_event(MOUSEEVENTF_LEFTDOWN,x,y,0,0);// - нажать левой кнопкой
mouse_event(MOUSEEVENTF_LEFTUP,x,y,0,0);// - отпустить левую кнопку

Автор: Романо12 14.8.2013, 12:47
Цитата(AntonChik @ 13.8.2013,  16:41)
Код

TPoint A;
GetCursorPos(&A); // узнать текущее положение мыши
int x=A.x+10;
int y=A.y+10;
SetCursorPos(x,y);// - установить новое положение мыши
mouse_event(MOUSEEVENTF_LEFTDOWN,x,y,0,0);// - нажать левой кнопкой
mouse_event(MOUSEEVENTF_LEFTUP,x,y,0,0);// - отпустить левую кнопку

Круто, работает, спасибо,  только нужно четко выставлять положение окон.

А можно ли сделать в цикле?то есть чтобы обработчик события кнопки содержал последовательное нажатие нескольких кнопок на синтезаторе, в зависимости от координат

Автор: Dem_max 26.8.2013, 11:31
Если кнопки рисованные то только наводить курсором на кнопку и нажимать

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)