===== ModifyKeyHook =====
==== Синтаксис ====
int ModifyKeyHook( KEYHOOKPROC proc, int mode, LPARAM lparam );
==== Описание ====
Функция устанавливает/удаляет ловушку событий нажатия клавиш.
==== Параметры ====
* **proc** - указатель на функцию, вызываемую при нажатии клавиши.
* **mode** - действие, выполняемое над ловушкой:
* KEY_HOOK_REMOVE - удаление ловушки.
* KEY_HOOK_ADD - установка ловушки
* **lparam** - данные, ассоциируемые с ловушкой. Эти данные будут всегда приходить в колбэк-функцию.
==== Возвращаемое значение ====
В случае успешного выполнения, функция возвращает 0. При ошибке функция возвращает отрицательное число.
==== Примечание ====
Событие нажатия клавиши перехватывается даже если клавиатура заблокирована.
Вызываемая функция должна иметь следующие параметры
int KeyPr(int key, int r1 , int mode, LPARAM lparam, DISP_OBJ* dispobj)
И возвращать значения
* **-1** - телефон не должен "заметить" нажатия
* **0** - телефон произведёт стандартное действие
* **код кнопки** - телефон отреагирует как будто нажата кнопка, код которой возвращён.
==== Пример ====
int KeyPr(int key, int r1 , int mode, LPARAM lparam, DISP_OBJ* dispobj)
{
if(!isKeylocked())
{
if (key==KEY_PLAY && mode==KBD_LONG_RELEASE)
{
StatusIndication_ShowNotes(TextID_CreateIntegerID(n));
return(-1);
}
}
return(0);
}
int main()
{
ModifyKeyHook(KeyPr,KEY_HOOK_ADD,NULL);
return(0);
}
==== См. также ====
[[elflib:functions:ModifyUIPageHook]]