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

Почему осн. проект получает сообщение от ДЛЛ только когда активен   Найти похожие ветки 

 
artist ©   (2003-06-25 12:19) [0]

В ДЛЛ

Const
WM_HOOOK = WM_USER + 1;

function GetMsgProc(code : integer; wParam : word; lParam : longint) : longint; stdcall;
begin
if code = HC_ACTION then
begin
{Проверяю, нажата ли правая кнопка мыши}
if TMsg(Pointer(lParam)^).message = WM_RBUTTONDOWN then
begin
PostMessage(MainHandle, WM_HOOOK, 0, 0);

end;
end;
Result:= CallNextHookEx(GlobalData^.SysHook, Code, wParam, lParam);
end;


В осн. проекте:

procedure TForm1.myhoook(var Message: TMessage);
begin
Edit1.Text:=Edit1.Text+"aa";
end;


 
Cobalt ©   (2003-06-25 12:49) [1]

Дык, MainHandle откуда заполняется-то?
Вот то-то. А должен тоже хранится в межпроцессной GlobalData, а не в локальной переменной процесса.


 
artist ©   (2003-06-25 16:32) [2]

Спасибо



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

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



Память: 0.45 MB
Время: 0.014 c
3-91997
vitas2
2003-08-01 16:00
2003.08.28
Server


4-92308
MMMaloy
2003-06-12 19:57
2003.08.28
API. CBTProc. code = HCBT_CREATEWND.


7-92281
msgipss
2003-06-11 10:08
2003.08.28
Программно отключить системный динамик


14-92234
ru19741974
2003-08-11 14:56
2003.08.28
Сервера и клиенты


14-92240
Rouse_
2003-08-09 22:43
2003.08.28
А ведь иногда так и живут :(




   Наверх