Нажатие кнопки внутри произвольного приложения

Статус
В этой теме нельзя размещать новые ответы.

StrikeOFF

♥kan inte lyfta utan lift♥
Регистрация
20 Мар 2010
Сообщения
372
Реакции
204
Как-то видел на ютубе видео где на С++ где человек показывал принципы работы WinAPI. Насколкьо помню он там написал код который активирует окно приложения(по названию) и кликает по кнопке в этом приложении. У меня такая же задача, такое реализуемо?
Есть софтина которую надо раз в пару часов открывать и жмакать кнопку старт. реально это? Есть зависимость от того на чем эта софтина написана? По-моему на .Net
 
Т.е. программа каждое n-ное время открываться и ждать пока по кнопке клинут? На delphi я напишу это, но тебе надо на c++?
 
Скрытое содержимое доступно для зарегистрированных пользователей!
 
стартануть программу, найти хендл окна-кнопки (FindWindow) и послать ей SendMessage?

может лучше
 
Если на WinApi, то для начала берете spy++ (из студии или гугла), запускаете прогу, выбираете в спае нужный вам процесс, смотрите имена классов для кнопок, окон и так далее. Далее отправляете сообщение. Вот пример на скорую руку, который в браузере интернет эксплорер открывает нуллед.
Код:
#include <windows.h>
int main()
{
 
HWND ie,worker,toolbar,combo,edit;
/*---- Поиск адресной строки---*/
ie = FindWindow(PCHAR("IEFrame"),NULL);
 
worker = FindWindowEx(ie,0,"WorkerW",NULL);
 
toolbar= FindWindowEx(worker,0,"ReBarWindow32",NULL);
 
combo = FindWindowEx(toolbar, 0, "Address Band Root",NULL);
 
edit = FindWindowEx(combo,0,"Edit",NULL);
/*---- Отправка текста и нажатие enter ---*/
SendMessage(edit, WM_SETTEXT, 0, LPARAM(PCHAR("http://www.nulled.cc")));
PostMessage(edit, WM_KEYDOWN, VK_RETURN, 0);
PostMessage(edit, WM_KEYUP,  VK_RETURN, 0);
 
}

Но проще в самом деле заюзать аутоит или какой-нибудь эмулятор мыши/клавиатуры (полно разработок, и фришных, и платных).
 
благодарю, но сейчас С++ не принципиально, а с Autoit я уже разобрался и реализовал функционал нужный. Бомба просто, не думал что есть такой конструктор простой. Задача решена
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху