Отлов нажатий клавиатуры вне формы.
Скажите как отловить нажатия клавиш с клавы вне формы, тоесть когда форма не в фокусе.
Я видел на VB Streets пример клавиатурного шпиона это конечно не совсем то что ты искал но всё же.
Key - ASCII номер клавиши. (27 - Esc, 13 - Enter и тд. и тп.)
Возвращает странные большие числа, с ними сам розберешся :)
GetAsyncKeyState - самый простой способ и, в то же время, самый тупой. Если нажатия клавишь надо перехватывать постоянно (а не один раз за всё время исполнения программы), использовать эту функцию неудобно. Будешь вызывать слишком часто - нагрузишь процессор. Слишко редко - не успеешь во время среагировать на нажатие. Лучше всего устанавливать hook (SetWindowsHookEx), используя в качестве первого параметра WH_KEYBOARD. Правда, при этом обязательно придётся создавать отдельную библиотеку для функции перехвата.
ShadyMan, а можно с этого места поподробнее:)
Ну что ж тут поподробнее? Надо открывать msdn по функции SetWindowsHookEx и читать, читать, читать... Ты пробовал? Я сам несколько раз подступался к хукам, прежде чем осилил их. Если ты не понял на счёт собственной библиотеки, так просто там требование такое: функция перехвата должна находиться в отдельной библиотеке, а не в твоём исполняемом файле, иначе хук работать не будет. Я сначала не поверил и попробовал обойтись - не вышло:o - правду писали. В общем, всё подробно изложено в msdn'e. Если будет непонятно что-то конкретное, спрашивай - отвечу.
Ясно. Чтож поищу на Микрософтском сайте.
Вот нашёл пример хука, кому интересно попробуйте!