![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| gromo |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 2.9.2009 Репутация: нет Всего: нет |
Всем привет!
Пишу программу, которая работает с окном чужого приложения, но столкнулся с проблемой. не могу нажать на кнопку. Нажати должно происходить по заданным координатам. Кусок кода ниже. Подскажите в чём проблема, пожалуйста
Это сообщение отредактировал(а) gromo - 31.7.2011, 14:24 |
|||
|
||||
| BorisVorontsov |
|
|||
![]() Thinker ![]() ![]() Профиль Группа: Комодератор Сообщений: 714 Регистрация: 3.11.2005 Где: Молдавия, г. Киши нёв Репутация: 4 Всего: 10 |
В том, что ты отсылаешь сообщения вполне конкретному окну, которое, судя по названию переменной, кнопкой не является. И еще не известно, насколько корректны координаты, записанные в cTimeStep/coord. Нажатие устройств ввода эмулируется функцией SendInput, или посредством посыла соответствующих сообщений конкретно тому окну, которое должно на эти сообщения отреагировать. Но если речь идет именно о кнопке, то правильнее отсылать специально предназначенное для программного нажатия сообщение -- BM_CLICK
-------------------- [code=cpp] const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out); for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl; [/code] |
|||
|
||||
| gromo |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 2.9.2009 Репутация: нет Всего: нет |
Может не совсем точно объяснил, попробую ещё раз:
Есть окно "чужой" программы, на данном окне есть кнопка. Окно "рисованное", поэтому и был сделан эмулятор мыши. Ранее всё отлично работало, но сейчас почему-то не отрабатывает именно нажатие на кнопку. |
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
используй SendInput
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| BorisVorontsov |
|
|||
![]() Thinker ![]() ![]() Профиль Группа: Комодератор Сообщений: 714 Регистрация: 3.11.2005 Где: Молдавия, г. Киши нёв Репутация: 4 Всего: 10 |
Что изменилось между "раньше" и "сейчас"? Версия целевой программы? -------------------- [code=cpp] const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out); for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl; [/code] |
|||
|
||||
| gromo |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 2.9.2009 Репутация: нет Всего: нет |
Кроме винды, ничего не менялось
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |