Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Послать сообщение другой программе [D5, D6, D7, WinXP]


Jetus ©   (2004-10-14 14:23:00) 

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

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


Рипли   (2004-10-15 00:50:00) [1]

>Jetus ©   (14.10.04 14:23)

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


GanibalLector   (2004-10-15 00:40:00) [2]

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


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

SendMessage + F1

...

Remarks

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


Jetus   (2004-10-14 23:28:00) [4]

Я делал такой обработчик, но он не воспринимает сообщения, посланные как 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;


MBo   (2004-10-14 14:46:00) [5]

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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо