
Сообщение от
Alex_K
С хуками довольно много мороки, они должны быть в DLL.
Относительно хуков есть два замечания:
1. Чаще всего хуки вообще не нужны - достаточно обрабатывать *KEYDOWN и *KEYUP.
2. Хуки не должны быть в DLL.
Только что специально проверил - хук, установленный обычной программой, перехватывает все нажатия клавиш в Windows Vista пока программа запущена, вне зависимости от текущего активного приложения и положения фокуса ввода.
Строчка установки хука в программе выглядит так:
Код:
HHOOK g_hHookKbdLL = NULL; // hook handle
if( !g_hHookKbdLL )
{
g_hHookKbdLL = SetWindowsHookEx(
WH_KEYBOARD_LL,
MyTaskKeyHookLL,
ghInstance,
0
);
}