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);
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.