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

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

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

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



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


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




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

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

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

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



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


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




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



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


Покинул форум
Сообщений всего: 202
Дата рег-ции: Июль 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



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


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




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

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

В данном случае это не название функции, а способ указать какое сообщение нужно обработать.
 
 Top
neba2101
Отправлено: 14 Сентября, 2024 - 14:23:09
Post Id



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


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




Возможно отслеживать нажатия сразу на все клавиши на мыши и клавиатуре через getmessage без регистрации всех значений клавиш?
 
 Top
Zireael
Отправлено: 14 Сентября, 2024 - 14:46:35
Post Id



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


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




 Цитата:
Возможно отслеживать нажатия сразу на все клавиши на мыши и клавиатуре через getmessage без регистрации всех значений клавиш?

Нет.
Зачем это нужно?
 
 Top
neba2101
Отправлено: 14 Сентября, 2024 - 15:31:07
Post Id



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


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




[quote=Zireael]
 Цитата:
Зачем это нужно?


Для отслеживания нажатой клавиши и дублирования через ардуино. Можно использовать для нажатий клавиш по удалёнке, если игра не позволяет делать клики по удалёнке.
 
 Top
Zireael
Отправлено: 14 Сентября, 2024 - 15:46:14
Post Id



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


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




Слежение за нажатыми клавишами.
 
 Top
Kibor
Отправлено: 14 Сентября, 2024 - 15:52:11
Post Id



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


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




 neba2101 пишет:
Возможно отслеживать нажатия сразу на все клавиши на мыши и клавиатуре


 Цитата:
int k[256];
string S;
int A=0;
loop()
{
initialarray(#k[0], 0);
for (int n=0; n<256; n++)k[n]=getkeystate(n);
S="";
for (int n1=0; n1<256; n1++)
{
if (k[n1]==1)S=S+" "+format(n1);
}
if (size(S)!=A)
{
textout(0, 100, 50, S+" ", 0);
A=size(S);
}
}
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by