Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.27;
Скачать: CL | DM;

Вниз

Как обойти такую ситуацию   Найти похожие ветки 

 
AFROLOV   (2002-03-26 13:09) [0]

Привет всем.
Решается следующая задача: надо отслеживать нажатия клавиш пользователем в Word. Иногда ему надо не давать вводить определенные символы. Для анализа его действий приходится обращаться к Word созданному
MSWord := CreateOleObject("Word.Application");
В глобальном Hook я перехватываю сообщения от клавиатуры идущие к MSWord. И если пользователь нажал то, что ему не положено сообщение из очереди должно изымаеться.
Проблема в следующем:Анализ того что ввел пользователь может быть довольно продолжительным. До того как сообщение будет пропущено далее надо решить: можно его пускать или нет.
Я посылаю сообщение

SendMessage(ShareInf^.AppWndHandle,ShareInf^.KeyboardMsgId,WPARAM(MapH),code); своему приложению для анализа кода клавиатуры.

Вот тут и возникает проблема - сделать что либо с Word не удается(программа просто отвисает). Похоже возникает такая ситуация: все действия осуществляются через сообщения, сообщения помещаются в очереды но очередь не движится, т.к в процедуре анализа ожидается реакция на сообщения помещенные в очередь после анализируемого.


 
Севостьянов Игорь ©   (2002-03-26 13:56) [1]

Смотри PeekMessage, GetMessage и так далее... Просто щас не припомню...
Все вопросы по мылу



Страницы: 1 вся ветка

Текущий архив: 2002.05.27;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.014 c
1-88533
adav
2002-05-15 11:28
2002.05.27
Invalid floating point operation. Не могу разобраться


1-88472
VicV
2002-05-17 23:02
2002.05.27
Как отключить эти 3 кнопки на форме (закрыть, свернуть, востан.)


1-88558
Fly`
2002-05-16 14:38
2002.05.27
как передавать управление с клавиатуры другому TWinControlу ?


14-88608
AFROLOV
2002-04-18 14:53
2002.05.27
Странный глюк


14-88621
Natali
2002-04-19 15:40
2002.05.27
Excel