===== 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]]