![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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? Похоже, ошибка там.