Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » getkeystate , как отследить прокрутку ролика мыши?

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

1. MaxarsP - 22 Ноября, 2020 - 13:19:09 - перейти к сообщению
Дорогие друзья , подскажите пожалуйста как отследить прокрутку ролика мыши функцией getkeystate.... Большая проблема , нет кода клавиши на прокрутку колеса. Подскажите куда "рыть" Если есть какие то решения или это ГИБЛОЕ ДЕЛО? Заранее благодарю.
2. Zireael - 22 Ноября, 2020 - 16:06:18 - перейти к сообщению
https://drive.google.com/file/d/...view?usp=sharing
Длл распаковать и закинуть в папку с кибор. Пример использования:
CODE:
external(INT, "hook_WH_MOUSE_LL", "hook_WH_MOUSE_LL", pathfolder()+"Hook.dll");
external(INT, "scroll_exist", "scroll_exist", pathfolder()+"Hook.dll");


int wheel_delta=0;
hook_WH_MOUSE_LL(); // вызов функции, которая ждёт скролла мыши


loop()
{
if(scroll_exist(address(#wheel_delta))) // если был сделан скролл, то функция scroll_exist вернёт 1
{
messagebox("Скролл:^r^n"+format(hiword(wheel_delta)));
// если wheel_delta больше 0, то скролл вверх, меньше 0 вниз

// какие-то действия

// снова запускаем проверку
hook_WH_MOUSE_LL();
}
sleep(10);
}
3. MaxarsP - 23 Ноября, 2020 - 23:24:15 - перейти к сообщению
Спасибо большое
4. Zireael - 24 Ноября, 2020 - 03:42:08 - перейти к сообщению
Обновил длл в архиве, устранил баг.
5. MaxarsP - 24 Ноября, 2020 - 12:37:36 - перейти к сообщению
Вчера не мог подключить скрипт c dll к своему... писал что нет goto...
6. Zireael - 24 Ноября, 2020 - 16:35:52 - перейти к сообщению
 Цитата:
писал что нет goto

Значит в вашем коде где-то ошибка.
7. Zireael - 07 Декабря, 2020 - 18:00:39 - перейти к сообщению
Обновил длл по ссылке в посте №2. Слежение за нажатыми клавишами:
CODE:
external(INT, "hook_WH_KEYBOARD_LL", "hook_WH_KEYBOARD_LL", pathfolder()+"Hook.dll");
external(INT, "key_exist", "key_exist", pathfolder()+"Hook.dll");


int vk_code=0;
hook_WH_KEYBOARD_LL(); // вызов функции, которая следит за нажатиями клавиш


loop()
{
if(key_exist(address(#vk_code))) // если была нажата клавиша, то функция key_exist вернёт 1
{
textout(0, 200, 500, "Код нажатой клавиши: "+format(vk_code), 1);

if(vk_code == formatci('Z')) // если нажата клавиша Z
{
messagebox("Нажата клавиша Z");
}

// снова запускаем слежение
hook_WH_KEYBOARD_LL();
}
textout(1, 200, 480, "Нажмите любую клавишу", 1);
sleep(10);
}

Функция возвращает виртуальный код нажатой клавиши Virtual-Key Codes
8. Arimor - 03 Января, 2021 - 18:46:57 - перейти к сообщению
 Zireael пишет:
Функция возвращает виртуальный код нажатой клавиши Virtual-Key Codes
alt не возвращает
9. Zireael - 03 Января, 2021 - 19:28:35 - перейти к сообщению
 Цитата:
alt не возвращает

Обновил длл по ссылке в посте №2. Добавил слежение за системными клавишами.
10. Zireael - 13 Января, 2021 - 15:18:58 - перейти к сообщению
Обновил длл по ссылке в посте №2. Добавил блокировку клавиатуры и мыши.
CODE:
#define TRUE 1
#define FALSE 0
external(INT, "block_keyboard", "block_keyboard", pathfolder()+"Hook.dll");
external(INT, "block_mouse", "block_mouse", pathfolder()+"Hook.dll");


block_keyboard(TRUE); // заблокировать клавиатуру
block_mouse(TRUE); // заблокировать мышь
pause(5000);
block_keyboard(FALSE); // разблокировать клавиатуру
block_mouse(FALSE); // разблокировать мышь

Powered by ExBB FM 1.0 Final