Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2008, 20:15   #1
Zeraim
Ra-Ra ?
Форумчанин
 
Аватар для Zeraim
 
Регистрация: 06.03.2008
Сообщений: 286
По умолчанию Применение KeyboardProc()

Здрасте, можноли применять KeyboardProc() после того как я поставил ловушку на клаву? Если да, то так правильно или нет:
Код:
procedure KeyboardProc(HC_ACTION, VK_NUMPAD2, 0) stdcall;
Begin
keybd_event(Ord('1'),0,0,0);
sleep(100);
keybd_event(Ord('1'),0,KEYEVENTF_KEYUP,0);
end;
Вот както так =\\
Все ето дело пишу в длл.
Zeraim вне форума Ответить с цитированием
Старый 13.05.2008, 20:29   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

во-первых, что это такое:
procedure KeyboardProc(HC_ACTION, VK_NUMPAD2, 0) stdcall;
???
во-вторых так нельзя:

Код:
keybd_event(Ord('1'),0,0,0);   
sleep(100);
keybd_event(Ord('1'),0,KEYEVENTF_KEYUP,0);
тогда получится бесконечная рекурсия, в обработчике ты генерируешь нажатие на клаву, при этом будет снова вызван твой обработчик, в котором снова будет сгенерировано нажатие и так до бесконечности...

Последний раз редактировалось rpy3uH; 13.05.2008 в 20:32.
rpy3uH вне форума Ответить с цитированием
Старый 14.05.2008, 00:16   #3
Zeraim
Ra-Ra ?
Форумчанин
 
Аватар для Zeraim
 
Регистрация: 06.03.2008
Сообщений: 286
По умолчанию

А можно вопрос тогда, а для чего KeyboardProc() ? Разьве он не выступает как чтото вроде фильтра сообщений? И как его можно использовать(Просто интересно =\\ )
Zeraim вне форума Ответить с цитированием
Старый 14.05.2008, 12:42   #4
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от Zeraim Посмотреть сообщение
А можно вопрос тогда, а для чего KeyboardProc() ? Разьве он не выступает как чтото вроде фильтра сообщений? И как его можно использовать(Просто интересно =\\ )
да, это фильтр. Но в этом фильтре ты снова генерируешь нажатие на клавишу при котором снова вызовется твой обработчик т.е. получается большая рекурсия. Тогда в любом случае надо поставить условие конца рекурсии.
rpy3uH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Путешествие во времени, практическое применение ;) Gauss Свободное общение 22 30.11.2018 11:32
Решите задачю....применение строк... El_Bint0 Паскаль, Turbo Pascal, PascalABC.NET 7 12.12.2006 20:15