Кибор » Кибор - Интегрированная среда разработки ботов » О программе Кибор » Версия 5.24 Добавление sendkeydown и sendkeyup

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

1. Kibor - 16 Января, 2017 - 10:03:43 - перейти к сообщению
Добавил 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);
2. Dantes3000 - 16 Января, 2017 - 17:52:56 - перейти к сообщению
 Kibor пишет:
win w=window (-1, "Edit", window ("Безымянный — Блокнот", "Notepad", -1));

sendkey('8', w);


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

sendkey('8', w);


А вот так не напечатает Разговорчивый
3. Nightshade2 - 17 Января, 2017 - 02:04:15 - перейти к сообщению
 Kibor пишет:
Синтаксис
sendkeydown(16, w);//Зажимает шифт в не активном окне с указателем w
sendkeydown(16, w);//Отпустит шифт в не активном окне с указателем w
4. Indoril.v - 17 Января, 2017 - 04:57:55 - перейти к сообщению
В неактивном окне 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);


Как сделать, чтоб и "служебные" кнопки работали в неактивном окне?
5. Kibor - 17 Января, 2017 - 07:03:33 - перейти к сообщению
В Lineage2 по моему работало и простое sendkey
6. Nightshade2 - 18 Января, 2017 - 00:09:53 - перейти к сообщению
В 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 заработал Радость
7. Indoril.v - 18 Января, 2017 - 22:59:43 - перейти к сообщению
 Kibor пишет:
В Lineage2 по моему работало и простое sendkey


Работает и просто sendkey, но "системные" кнопки работают только если окно активно.
Не получается нажать F1, 1, /
8. Dantes3000 - 11 Октября, 2017 - 13:12:49 - перейти к сообщению
Почему в варспе не работает отправка БУКВ с помощью этой функции? F1 F2 ...работают, энтер тоже, цифры.
9. Paskuda - 08 Мая, 2021 - 16:38:16 - перейти к сообщению
Это только с шифтом работает? Просто попробовал в блокноте комбинацию 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);
10. Zireael - 08 Мая, 2021 - 16:52:13 - перейти к сообщению
Зависит от приложения. Обычно клавиши модификаторы работают только для активного окна.

Powered by ExBB FM 1.0 Final