Re[5]: Глобальные переменные в HOOKPROC
|
От: |
Alex
|
|
| Дата: | 26.09.01 10:22 |
|
Оценка: |
|
Здравствуйте DenisII, вы писали:
Попробуйте сделать так:
static int Count = 0;
Если не поможет, то можно попробовать ставить HOOK не из функции OpenFile, а вот так (работоспособный пример):
static int Count=0;
static HHOOK hHook;
static LRESULT CALLBACK HookProc(int code, WORD wParam, long lParam);
static THookControlStruct
{
__fastcall THookControlStruct(){hHook=SetWindowsHookEx(WH_KEYBOARD, HookProc, 0, GetCurrentThreadId())};
__fastcall ~THookControlStruct(UnhookWindowsHookEx(hHook););
} HookControlStruct;
int OpenFile(...)
{
Count = 5;
}
static LRESULT CALLBACK HookProc(int code, WORD wParam, long lParam)
{
if (code<0 || code==HC_NOREMOVE) CallNextHookEx(hHook, code, wParam, lParam);
if ((lParam & 0x40000000) || !Count)
return CallNextHookEx(hAREKbrdHook, code, wParam, lParam);
....
return CallNextHookEx(hAREKbrdHook, code, wParam, lParam);
}
Пока на собственное сообщение не было ответов, его можно удалить.