Вниз
Скачать: CL | DM;

ловушка и форма   Найти похожие ветки 

 
Blacksus   (2007-02-05 00:18) [0]

У меня такая проблемма: в системе устанавливается глобальная ловушка, которая отлавливает нажатие клавиши, при срабатывании ловушки имя нажатой клавиши должно передаваться в форму главного окна в поле TEdit, но почему то это не срабатывает...

function SysMsgProc(code:integer;wParam:word;lParam:longint) : longint; export; stdcall;
var
KeyName:array[0..16] of char;
begin
if Code >= 0 then
begin
 Getkeynametext(lParam,Keyname,sizeof(keyname));
 if (lParam and $40000000=0) then
   begin
    form1.edit1.text:=keyname;
   end;
 Result:=0;
end
else
  Result := CallNextHookEx(SysHook,Code, wParam, lParam);
end;


 
Eraser ©   (2007-02-05 01:00) [1]

> [0] Blacksus   (05.02.07 00:18)

прежде чем писАть хуки не плохо бы почитать того же Рихтера.

> form1.edit1.text:=keyname;

грубейшая ошибка в данном контексте, особенно если хук не low level.


 
Blacksus   (2007-02-05 01:07) [2]

я с хуками впервые сталкиваюсь, может подскажет кто-нибудь как передать данные в главное окно?


 
Eraser ©   (2007-02-05 01:11) [3]

> [2] Blacksus   (05.02.07 01:07)

самый простой способ - с помощю сообщения WM_COPYDATA.


 
Blacksus   (2007-02-05 01:21) [4]

А можно без API обойтись, чтобы внутри программы эти данные передавались?


 
BOGa   (2007-03-09 16:09) [5]

Я думал, что я плохой программист



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
2-1176392286
GL00m
2007-04-12 19:38
2007.05.06
Пресловутые PChar и DLL...


2-1176743081
..::KraN::..
2007-04-16 21:04
2007.05.06
Закрытие TOpenDialog


8-1155671586
Denisich
2006-08-15 23:53
2007.05.06
DSPack


2-1176549694
Fantasy
2007-04-14 15:21
2007.05.06
C: Documents and Settings в C: Docume~1 как перевести ?


9-1148890316
cyborg
2006-05-29 12:11
2007.05.06
Советую интерпретор




   Наверх