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

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

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

> Без описания
Redear
Отправлено: 23 Февраля, 2023 - 19:40:18
Post Id



Пользователь
Мастер


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




пытался найти ответ на форуме, безуспешно.

как сделать максимально ненагружаемое на бота отслеживание нажатой горячей клавиши. есть варианты?

таймер + гетстат? но по факту таймер должен висеть и чекать каждые 10 милисек коавишу.

есть другие варианты?
 
 Top
Zireael
Отправлено: 23 Февраля, 2023 - 20:09:28
Post Id



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


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




CODE:
#define MOD_ALT 1
#define MOD_CONTROL 2
#define MOD_SHIFT 0x0004
external(INT, "RegisterHotKey", "RegisterHotKey", "User32.dll");
createdialog(2);

textbkcolor(65280, 0);
textout(0, 300, 20, "Нажмите Z или Alt + 2 или Ctrl + 3", 0);
loop()sleep(10);


function getmessage(2, WM_CREATE)
{
// регистрируем хоткей
RegisterHotKey(gethwnd(2), 111, 0, 90); // 111 - идентификатор (любое число), 90 - код клавиши z
RegisterHotKey(gethwnd(2), 222, MOD_ALT, 50); // Alt + 2
RegisterHotKey(gethwnd(2), 333, MOD_CONTROL, 51); // Ctrl + 3
}

function getmessage(2, WM_HOTKEY)
{
if(message.wparam==111)messagebox("Нажата клаиша Z");
if(message.wparam==222)messagebox("Нажаты Alt + 2");
if(message.wparam==333)messagebox("Нажаты Ctrl + 3");
}
 
 Top
Redear
Отправлено: 23 Февраля, 2023 - 20:38:53
Post Id



Пользователь
Мастер


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




 Zireael пишет:
CODE:
#define MOD_ALT 1
#define MOD_CONTROL 2
#define MOD_SHIFT 0x0004
external(INT, "RegisterHotKey", "RegisterHotKey", "User32.dll");
createdialog(2);

textbkcolor(65280, 0);
textout(0, 300, 20, "Нажмите Z или Alt + 2 или Ctrl + 3", 0);
loop()sleep(10);


function getmessage(2, WM_CREATE)
{
// регистрируем хоткей
RegisterHotKey(gethwnd(2), 111, 0, 90); // 111 - идентификатор (любое число), 90 - код клавиши z
RegisterHotKey(gethwnd(2), 222, MOD_ALT, 50); // Alt + 2
RegisterHotKey(gethwnd(2), 333, MOD_CONTROL, 51); // Ctrl + 3
}

function getmessage(2, WM_HOTKEY)
{
if(message.wparam==111)messagebox("Нажата клаиша Z");
if(message.wparam==222)messagebox("Нажаты Alt + 2");
if(message.wparam==333)messagebox("Нажаты Ctrl + 3");
}



спасибо, немного не понятно, нет ли ошибки, почему название функции getmessagе повторяются
 
 Top
Zireael
Отправлено: 23 Февраля, 2023 - 20:56:55
Post Id



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


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




 Цитата:
нет ли ошибки

Нет.
 Цитата:
почему название функции getmessagе повторяются

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


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




Powered by