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

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

1. KevinS - 15 Декабря, 2021 - 11:30:31 - перейти к сообщению
Здравствуйте.

Как сделать так, чтобы пользователь мог сам назначить хоткей запуска бота в диалоге. К примеру, чтобы можно было назначить ALT+Q, F4, M, Home, Esc, Shift+R?

Как понять, что было нажато пользователем и преобразовать это в хоткей?
2. Zireael - 15 Декабря, 2021 - 13:13:57 - перейти к сообщению
HotKey Control (Отобразить)
3. KevinS - 15 Декабря, 2021 - 23:52:17 - перейти к сообщению
Zireael , благодарю! Всегда выручаешь Превосходно
4. KevinS - 22 Декабря, 2021 - 10:51:57 - перейти к сообщению
А как сохранить установленный хоткей и автоматически загрузить при повторном запуске программы? У меня проблема в том, что я не могу вывести в
CODE:
HotKey=CreateWindow(0, "msctls_hotkey32", "", WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 10, 140, 24, gethwnd(0), 0, 0, 0);
установленный в прошлой сессии хоткей. В поле пишет "нет".
5. Zireael - 22 Декабря, 2021 - 11:51:34 - перейти к сообщению
 Цитата:
А как сохранить установленный хоткей и автоматически загрузить при повторном запуске программы?

Сохранять в файл значение переменной Key, при запуске скрипта прочитать файл и установить хоткей.
CODE:
#define HKM_SETHOTKEY 0x401

sendmessage(HKM_SETHOTKEY, Key, 0, formatiw(HotKey));


Для примера в function getmessage(0, WM_CREATE) добавить:
CODE:
sendmessage(HKM_SETHOTKEY, 602, 0, formatiw(HotKey));

в поле будет введено Ctrl+Z.
6. KevinS - 22 Декабря, 2021 - 12:05:14 - перейти к сообщению
 Zireael пишет:
 Цитата:
А как сохранить установленный хоткей и автоматически загрузить при повторном запуске программы?

Сохранять в файл значение переменной Key, при запуске скрипта прочитать файл и установить хоткей.
CODE:
#define HKM_SETHOTKEY 0x401

sendmessage(HKM_SETHOTKEY, Key, 0, formatiw(HotKey));


Для примера в function getmessage(0, WM_CREATE) добавить:
CODE:
sendmessage(HKM_SETHOTKEY, 602, 0, formatiw(HotKey));

в поле будет введено Ctrl+Z.


Огромное при огромное тебе спасибо! Прыгаю до потолка
7. KevinS - 24 Декабря, 2021 - 08:20:39 - перейти к сообщению
Здравствуйте. Как можно временно отключить
CODE:
function getmessage(0, WM_HOTKEY) { }
и через 2 секунды снова включить? Возможно ли такое? Мне нужно, чтобы бот запускался и останавливался на одну и ту же кнопку (к примеру F2). Но если зажать F2 подольше, то бот запускается и тут же останавливается, т.к. F2 снова нажата... Подскажите, пожалуйста, что-нибудь Радость
8. Zireael - 24 Декабря, 2021 - 09:02:52 - перейти к сообщению
 Цитата:
Как можно временно отключить

В скрипт добавить переменную:
CODE:
int disable = 0;

и таймер:
CODE:
CREATE_TIMER(0, 2000)
{
disable=0;
disabletimer(0);
}

В обработчике проверить значение переменной.
CODE:
function getmessage(0, WM_HOTKEY)
{
if(disable)return; // если не 0, выход

if(message.wparam==HotKeyId)
{
disable=1;
enabletimer(0); // включить таймер
messagebox("Нажат Хоткей^r^nДальнейшие действия");
}
}
9. KevinS - 24 Декабря, 2021 - 09:05:26 - перейти к сообщению
Zireael , Спасибо!)

Powered by ExBB FM 1.0 Final