Проблема следующая: в функции ловушки MouseProc, вызываемой для хука WH_MOUSE
мне нужно определить нажата ли клавиша Control. Для этого я пользуюсь функцией
GetKeyState(). В Win2k состояние определяется. А в Win98 функция всегда возвращает 0.
Вот код функции MouseProc:
LRESULT WINAPI CALLBACK MouseProc(int nCode, WPARAM wParam, LPARAM lParam) {
if (nCode < 0) {
return CallNextHookEx(g_hHook, nCode, wParam, lParam);
}
if (wParam == WM_LBUTTONDOWN && counter == 0) {
if (GetKeyState(VK_LCONTROL) & 0x8000) {
counter++;
AnyFunc();
counter = 0;
return CallNextHookEx(g_hHook, nCode, wParam, lParam);
}
}
return CallNextHookEx(g_hHook, nCode, wParam, lParam);
}
Может что-то неправильно делаю?
Здравствуйте, springborn, Вы писали:
S>Проблема следующая: в функции ловушки MouseProc, вызываемой для хука WH_MOUSE
S>мне нужно определить нажата ли клавиша Control. Для этого я пользуюсь функцией
S>GetKeyState(). В Win2k состояние определяется. А в Win98 функция всегда возвращает 0.
Все, разобрался я. Заработало, когда я в функцию GetKeyState() прередал VK_CONTROL вместо
VK_LCONTROL. Блин, в документации ни слова не сказано про особенности работы в функции в Win9x.