Есть у меня в ноутбуке клавиша Fn. Очень нужно сделать например сочетание Fn+E. Перехватываю с помощью хуков и DLL весь ввод - клавиша упорно туда не попадает. Потом нашел в спецификации: The following pseudo code shows how to get back the status of the Fn key. DISABLE INTERRUPTS WRITE 0x8E TO PORT 0xE4 READ byte FROM PORT 0xE5 ENABLE INTERRUPTS The byte held in the variable byte indicates the status of the Fn key. Вот исходник для линукса: /* * Read the Fn key status */ static int tosh_fn_status(void) { unsigned char scan; unsigned long flags; if (tosh_fn!=0) { scan = inb(tosh_fn); } else { save_flags(flags); cli(); outb(0x8e, 0xe4); scan = inb(0xe5); restore_flags(flags); } return (int) scan; } Интуитивно понятно. НО как это сделать в Windows? Как мне перехватить эту клавишу?
Аналогично, но с использованием драйвера. Попробуй взять за основу приложенный (хм, как-бы его по политкорректней назвать) фильтр клавиатуры с использованием драйвера (Работает только с PS/2 клавиатурами, не с USB, и только на NT системах) 1330304001__KbdSpy.rar
А нельзя на С примера? и такой вопрос: можно ли такое написать как драйвер пользовательского режима (DLL)