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

Вниз

WM_COPYDATA   Найти похожие ветки 

 
alex732   (2004-04-08 10:21) [0]

Добрый день. Подскажите.. Ставлю хук на клавиатуру..  Хочу передать своей программе время последнего нажатия на кнопку. Пишу:

library MyHook;
.................

procedure hook export; stdcall;
begin
 K := SetWindowsHookEx(WH_KEYBOARD, @KeyProc1, HInstance, 0);
end;

function KeyProc1(code : integer; wParam : word; lParam : longint) : longint; stdcall;
var
 cd : TCopyDataStruct;
begin
 Times := GetTickCount();
 cd.cbData := Length(inttostr(Times))+1;
 cd.lpData := PChar(inttostr(Times));
 SendMessage(FindWindow("TForm1", nil),
              WM_COPYDATA, 0,lParam(@cd));
                                   ^^[Error] MyHook.dpr(34): Missing operator or semicolon

 Result:= CallNextHookEx(K, Code, wParam, lParam);
end;
...............

Брррр... Почему??


 
alex732   (2004-04-08 10:22) [1]

или можно это сделать как то по другому?


 
VMcL ©   (2004-04-08 15:56) [2]

>>alex732

lParam - параметр функции, поэтому компилятор "не видит" тип LPARAM, определенный в модуле Windows.

Пиши:

SendMessage(FindWindow("TForm1", nil),
      WM_COPYDATA, 0, Integer(@cd));

или

SendMessage(FindWindow("TForm1", nil),
      WM_COPYDATA, 0, Windows.LPARAM(@cd));


 
alex732   (2004-04-08 18:50) [3]

Ок.  Спасибо.



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

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

Наверх




Память: 0.47 MB
Время: 0.097 c
14-1083604338
Delphi5.01
2004-05-03 21:12
2004.05.23
существовал такой сайт www.Flasher.ru ...


1-1084150584
Алекс А
2004-05-10 04:56
2004.05.23
Как работать с кардиналами ?


14-1083693631
Yanis
2004-05-04 22:00
2004.05.23
П О М О Г И Т Е !!!


9-1074531726
Sos
2004-01-19 20:02
2004.05.23
Во время движения персонаж мигает как фонарь =)


14-1083791552
saNat
2004-05-06 01:12
2004.05.23
Хоккей. США - Чехия 3-2