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

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

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

> Описание: Отправление зажатий и отпусканий клавиш клавиатуры в не активные окна
Kibor
Отправлено: 16 Января, 2017 - 18:03:43
Post Id



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


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




Добавил sendkeydown и sendkeyup
Зажимают и отпускают клавиши клавиатуры в не активном окне.
Кибор должен быть запущен после программы в которой будет автоматизация..

Синтаксис
sendkeydown(16, w);//Зажимает шифт в не активном окне с указателем w
sendkeyup(16, w);//Отпустит шифт в не активном окне с указателем w

Первый параметр цифровой код клавиши. Второй указатель на окно.

Пример

CODE:
win w=window (-1, "Edit", window ("Безымянный — Блокнот", "Notepad", -1));

loop()
{
sendkeydown(16, w);
sendkey('8', w);
sendkeyup(16, w);
sendkey('8', w);
sleep(200);
}





Напечатает * в не активном окне
CODE:
win w=window (-1, "Edit", window ("Безымянный — Блокнот", "Notepad", -1));

sendkeydown(16, w);
sendkey('8', w);
sendkeyup(16, w);


Просто без sendkeydown и sendkeyup напечатает 8
CODE:
win w=window (-1, "Edit", window ("Безымянный — Блокнот", "Notepad", -1));

sendkey('8', w);
 
 Top
Dantes3000
Отправлено: 17 Января, 2017 - 01:52:56
Post Id



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


Покинул форум
Сообщений всего: 1458
Дата рег-ции: Июнь 2016  
Репутация: 58




 Kibor пишет:
win w=window (-1, "Edit", window ("Безымянный — Блокнот", "Notepad", -1));

sendkey('8', w);


win w=window ("Warspear Online", "Warspear", -1);

sendkey('8', w);


А вот так не напечатает Разговорчивый
 
 Top
Nightshade2
Отправлено: 17 Января, 2017 - 10:04:15
Post Id



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


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




 Kibor пишет:
Синтаксис
sendkeydown(16, w);//Зажимает шифт в не активном окне с указателем w
sendkeydown(16, w);//Отпустит шифт в не активном окне с указателем w
 
 Top
Indoril.v
Отправлено: 17 Января, 2017 - 12:57:55
Post Id



Пользователь
Прохожий


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




В неактивном окне Lineage2 работает частично.
CODE:

win V = window ("Lineage II", "L2UnrealWWindowsViewportWindow", 21, 74, -1, -1, -1);
sleep(1000);
sendkeydown(49, V); // Отправляю "1"
sleep(10);
sendkeyup(49, V); // отпускаю "1", ожидаю нажатия на панельке скилов. Ничего не происходит.
sleep(10);
sleep(1000);
sendkeydown(13, V); //Нажимаю Enter
sleep(10);
sendkeyup(13, V); // Отпускаю Enter, активируется чат
sleep(10);
sleep(1000);
sendkeydown(49, V); //Нажимаю "1"
sleep(10);
sendkeyup(49, V); //Отпускаю, Печатает в чате "1"
sleep(10);


Как сделать, чтоб и "служебные" кнопки работали в неактивном окне?
 
 Top
Kibor
Отправлено: 17 Января, 2017 - 15:03:33
Post Id



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


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




В Lineage2 по моему работало и простое sendkey
 
 Top
Nightshade2
Отправлено: 18 Января, 2017 - 08:09:53
Post Id



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


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




В ForsakenWorld тоже не работает. Хотя старый скриптовый вариант пашет.
(Добавление)
Моя отправка
WM_KEYDOWN nVirtKey:'U' cRepeat:1 ScanCode:00 fExtended:0 fAltDown:0 fRepeat:0 fUp:0
Твоя отправка
WM_KEYDOWN nVirtKey:'U' cRepeat:0 ScanCode:00 fExtended:0 fAltDown:0 fRepeat:0 fUp:0


cRepeat:0
(Добавление)
wparam=1 нужен
(Добавление)
Зато я смотрю sendkey заработал Радость
 
 Top
Indoril.v
Отправлено: 19 Января, 2017 - 06:59:43
Post Id



Пользователь
Прохожий


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




 Kibor пишет:
В Lineage2 по моему работало и простое sendkey


Работает и просто sendkey, но "системные" кнопки работают только если окно активно.
Не получается нажать F1, 1, /

(Отредактировано автором: 19 Января, 2017 - 07:11:08)

 
 Top
Dantes3000
Отправлено: 11 Октября, 2017 - 21:12:49
Post Id



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


Покинул форум
Сообщений всего: 1458
Дата рег-ции: Июнь 2016  
Репутация: 58




Почему в варспе не работает отправка БУКВ с помощью этой функции? F1 F2 ...работают, энтер тоже, цифры.
 
 Top
Paskuda
Отправлено: 09 Мая, 2021 - 00:38:16
Post Id



Пользователь
Участник


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




Это только с шифтом работает? Просто попробовал в блокноте комбинацию CTRL+C, ну он мне "с" и напечатал, с обычным keydown все работает нормально. В чем может быть причина, такое чувство что CTRL не зажимается а просто нажимается.

CODE:

win wind=window (-1, "Edit", window ("Новый текстовый документ (4).txt — Блокнот", "Notepad", -1));

if(wind==0)
{messagebox("Окно не найдено");}

sendkeydown(17, wind);sleep(100);
sendkey(67, wind);sleep(100);
sendkeyup(17, wind);sleep(100);
 
 Top
Zireael
Отправлено: 09 Мая, 2021 - 00:52:13
Post Id



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


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




Зависит от приложения. Обычно клавиши модификаторы работают только для активного окна.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« О программе Кибор »


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




Powered by