Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Без описания
Greaty
Отправлено: 13 Февраля, 2019 - 12:09:58
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 25
Дата рег-ции: Янв. 2016  
Репутация: 0




подскажите как через кибор средствами (командами) WinApi , отправлять нажатия клавиш клавиатуры и мыши в нужное окно

..
 
 Top
Kibor
Отправлено: 13 Февраля, 2019 - 12:30:25
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8091
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




Сначала надо определиться какую функцию WinApi хочется использовать.
Узнать ее параметры.
Узнать в какой dll она.
Подключить и использовать как в этой теме используются функции WinApi
Получение и обработка сообщений в немодальных окнах Кибор
 
 Top
Greaty
Отправлено: 13 Февраля, 2019 - 12:47:54
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 25
Дата рег-ции: Янв. 2016  
Репутация: 0




 Kibor пишет:
Сначала надо определиться какую функцию WinApi хочется использовать.
Узнать ее параметры.
Узнать в какой dll она.

я вообще не знаком с функционалом Winapi поэтому мне не понятно как выполнить эти пункты =(
хотелось бы конкретный пример
допустим отправлять пробел в окно блокнота

 Kibor пишет:

Подключить и использовать как в этой теме используются функции WinApi
Получение и обработка сообщений в немодальных окнах Кибор

с этим я разберусь
 
 Top
Kibor
Отправлено: 13 Февраля, 2019 - 12:55:15
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8091
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




Разные функции. Она не одна. Наберите в поиске "как нажать мышь C++" "как нажать мышь программно" и разберитесь что вообще надо.
В окно может отправлять насколько мне известно только sendmessage postmessage. Остальные не отсылают в какое то окно, а просто эмулируют нажатие по координатам.
 
 Top
Greaty
Отправлено: 13 Февраля, 2019 - 13:18:14
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 25
Дата рег-ции: Янв. 2016  
Репутация: 0




как отправить нажатие кнопки пробел в блокнот на WinApi через кибор

можно любой пример по этому тз
 
 Top
Zireael
Отправлено: 13 Февраля, 2019 - 13:33:26
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4385
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
как отправить нажатие кнопки пробел в блокнот

CODE:
win w=window (-1, "Edit", window (-1, "Notepad", -1));
postmessage(WM_CHAR, 32, 1, w); // напечатать пробел в блокноте

Клик в блокноте:
CODE:
win w=window (-1, "Edit", window (-1, "Notepad", -1));

int x=90;
int y=50;

postmessage(WM_LBUTTONDOWN, 1, y*65536+x, w); // нажать левую кнопку мыши
sleep(10);
postmessage(WM_LBUTTONUP, 1, y*65536+x, w); // отпустить левую кнопку мыши

Клик в абсолютных координатах:
CODE:
#define MOUSEEVENTF_ABSOLUTE 32768
#define MOUSEEVENTF_LEFTDOWN 2
#define MOUSEEVENTF_LEFTUP 4

external(INT, "mouse_event", "mouse_event", "User32.dll" );
external(INT, "SetCursorPos", "SetCursorPos", "User32.dll" );

int x=40;
int y=100;

SetCursorPos(x, y); // установить курсор в координаты x, y
mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN, x, y, 0, 0); // нажать левую кнопку мыши
sleep(100);
mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTUP, x, y, 0, 0); // отпустить левую кнопку мыши
 
 Top
Kibor
Отправлено: 17 Февраля, 2019 - 10:18:19
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8091
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




Поправил
sendkeydown
sendkey
sendkeyup

Теперь работает корректно.
И такой код отправит заглавную A
CODE:
win w=window (-1, "Edit", window ("Безымянный — Блокнот", "Notepad", -1));


sendkeydown(16, w);
sendkey(65, w);
sendkeyup(16, w);
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by