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

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

← →
Jetus ©   (2004-10-14 14:23) [0]

Уважаемые мастера, помогите в таком деле: моя программа должна передать другой моей программе одно число.
Хочу отправить это число так:
SendMessage(HWND_BROADCAST, MY_MESSAGE, 0, X);
где Х - мое число, а MY_MESSAGE = WM_USER + 4242;

Как принять это чило в другой моей программе?


← →
MBo ©   (2004-10-14 14:46) [1]

другая твоя программа должна содержать обработчик этого сообщения, например, так (метод формы)

 procedure WMMYMESSAGE(var m:TMessage); message WM_MYMESSAGE;


← →
Jetus ©   (2004-10-14 23:28) [2]

Я делал такой обработчик, но он не воспринимает сообщения, посланные как HWND_BROADCAST, а только если конкретно Form1.Handle
Вот код, мож я чего не так делаю?

private
   procedure JetMessage(var MMes: TMsg); message MY_MESSAGE;
...

procedure TForm1.JetMessage(var MMes: TMsg);
var
  txt: PChar;
begin
  txt := PChar(MMes.lParam);
  //MMes.Result := 1;
  ShowMessage(txt);
end;


← →
GuAV ©   (2004-10-15 00:04) [3]

SendMessage + F1

...

Remarks

Applications that need to communicate using HWND_BROADCAST should use the RegisterWindowMessage function to obtain a unique message for inter-application communication.


← →
GanibalLector ©   (2004-10-15 00:40) [4]

Удалено модератором


← →
Рипли   (2004-10-15 00:50) [5]

>Jetus ©   (14.10.04 14:23)

Попробуй использовать Application.OnMessage.



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

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



Память: 0.46 MB
Время: 0.022 c
8-1094074341
zero-g
2004-09-02 01:32
2004.11.28
Строка состояния в видео проигрывателе


10-1067248300
Erik
2003-10-27 12:51
2004.11.28
Как происходит обновление DataSet провайдером?


1-1099942188
Rusty
2004-11-08 22:29
2004.11.28
Вызов процедуры, принадлежащей дочернему окну...


1-1100116011
Neiron
2004-11-10 22:46
2004.11.28
Пакер для Portable Executable на Delphi


4-1097754774
Uran
2004-10-14 15:52
2004.11.28
как проверить запущенно ли другое приложение




   Наверх