Kibor |
Отправлено: 16 Января, 2017 - 18:03:43
|
Эксперт
Покинул форум
Сообщений всего: 8218
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Добавил 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); |
|
|
Indoril.v |
Отправлено: 17 Января, 2017 - 12:57:55
|
Прохожий
Покинул форум
Сообщений всего: 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);
Как сделать, чтоб и "служебные" кнопки работали в неактивном окне? |
|
|
Indoril.v |
Отправлено: 19 Января, 2017 - 06:59:43
|
Прохожий
Покинул форум
Сообщений всего: 7
Дата рег-ции: Янв. 2017
Репутация: 0
|
Kibor пишет: В Lineage2 по моему работало и простое sendkey
Работает и просто sendkey, но "системные" кнопки работают только если окно активно.
Не получается нажать F1, 1, /(Отредактировано автором: 19 Января, 2017 - 07:11:08) |
|
|
Paskuda |
Отправлено: 09 Мая, 2021 - 00:38:16
|
Участник
Покинул форум
Сообщений всего: 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);
|
|
|
|