информационная безопасность
без паники и всерьез
 подробно о проекте
Все любят медЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Модульный ботнет от русских хакеров 
 Торвальдс и вайбтестеры 
 Атака на GitHub 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Двойной вызов ф-ии KeyboardProc() 11.10.01 17:37  Число просмотров: 960
Автор: Cyril <sc> Статус: Member
<"чистая" ссылка>
> Я ставлю хук ф-ией SetWindowsHookEx на клаву. После
> каждого нажатия клавиши фызывается ф-ия :
> LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam,
> LPARAM lParam )
> {
> char *p2="c:\\123.log";
> p=fopen(p2,"a");
> fputc(wParam,p);
> fprintf(p," ");
> fclose(p);
> if (nCode<0) return
> CallNextHookEx(NULL,nCode,wParam,lParam );
> else return true;
> }
>
> Но самое интересное , что в файл пишется всё в 2-ом
> экземпляре (ф-ия вып-ся 2 раза).....
> Помогите разобраться , где я не то 'намутил'....
>
> PS если в конце ф-ии писать : ..... else return false;...
> то когда хук установлен то всё ок, а если ......return
> true... то клавиши типа NumLock
> Caps Lock не работают вплоть до его отключения...

Видимо причина в этом
Клавишу нажал, клавишу отпустил, соответственно
вызывается хук два раза
<programming>
Двойной вызов ф-ии KeyboardProc() 11.10.01 17:27  
Автор: Access Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Я ставлю хук ф-ией SetWindowsHookEx на клаву. После каждого нажатия клавиши фызывается ф-ия :
LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam )
{
char *p2="c:\\123.log";
p=fopen(p2,"a");
fputc(wParam,p);
fprintf(p," ");
fclose(p);
if (nCode<0) return CallNextHookEx(NULL,nCode,wParam,lParam );
else return true;
}

Но самое интересное , что в файл пишется всё в 2-ом экземпляре (ф-ия вып-ся 2 раза).....
Помогите разобраться , где я не то 'намутил'....

PS если в конце ф-ии писать : ..... else return false;... то когда хук установлен то всё ок, а если ......return true... то клавиши типа NumLock
Caps Lock не работают вплоть до его отключения...
Двойной вызов ф-ии KeyboardProc() 11.10.01 17:37  
Автор: Cyril <sc> Статус: Member
<"чистая" ссылка>
> Я ставлю хук ф-ией SetWindowsHookEx на клаву. После
> каждого нажатия клавиши фызывается ф-ия :
> LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam,
> LPARAM lParam )
> {
> char *p2="c:\\123.log";
> p=fopen(p2,"a");
> fputc(wParam,p);
> fprintf(p," ");
> fclose(p);
> if (nCode<0) return
> CallNextHookEx(NULL,nCode,wParam,lParam );
> else return true;
> }
>
> Но самое интересное , что в файл пишется всё в 2-ом
> экземпляре (ф-ия вып-ся 2 раза).....
> Помогите разобраться , где я не то 'намутил'....
>
> PS если в конце ф-ии писать : ..... else return false;...
> то когда хук установлен то всё ок, а если ......return
> true... то клавиши типа NumLock
> Caps Lock не работают вплоть до его отключения...

Видимо причина в этом
Клавишу нажал, клавишу отпустил, соответственно
вызывается хук два раза
1





Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 1 s   Design: Vadim Derkach