Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

dll+hook [D6]


inki35 ©   (2002-12-29 15:36:00) 

привет,с наступающим!
кусочек кода из dll.
дело в том что буфер сохраняется только,еслли клавиши нажаты на окне эксешника
загружающего dll.а с других окон нет.
подскажите в чем дело.
как сделать чтоб буфер сохранялся при смене окна?
спасибо.
var
BufKey1: TBuffer;
BufKey: TBuffer;
BoolKey: boolean;
BoolExitSave: boolean;
.....
begin
{Устанавливаю HOOK, если он не установлен (switch=true). }
GlobalData^.SysHook := SetWindowsHookEx(WH_KEYBOARD, @KeyProc, HInstance, 0);
if GlobalData^.SysHook = 0 then
end
else
begin
//Сохраняем буфер
if (BoolKey) and (not BoolExitSave) then
begin
lstrcpy(BufKey1, BufKey);
KeySave;
BoolExitSave := true;
end;
{Удаляю функцию-фильтр, если она установлена (т.е. switch=false). }
if not UnhookWindowsHookEx(GlobalData^.SysHook) then
end;


Cobalt   (2002-12-30 14:51:00) [1]

Я обычно проверяю такие вещи с помощью MessageBox.


Юрий Зотов   (2002-12-29 19:42:00) [2]

Где и как инициализируется GlobalData? Похоже, ошибка там.


Наверх

Титульная страница Поиск, карта сайта Написать письмо