![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Послать сообщение другой программе [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 theRegisterWindowMessagefunction 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;