Передача данных между двумя приложениями
Для тестирования, поместите на форму 2 компонента TLabel и TButton, например, так:

Вот полный код для реализации этого:
Определить тип структуры сообщения, как здесь:
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
{ Определяем тип структуры сообщения }
type
  TWMMYMessage = record
    Msg: Cardinal;   // (ID сообщения )
    Handle: HWND;    // ( wParam , Handle отправителя )
    Info: LongInt;   // ( lParam , указатель на данные )
    Result: LongInt;
end;
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
	// переопределяем метод DefaultHandler
    procedure DefaultHandler(var Message); override;
    procedure WMMYMessage(var Msg: TWMMYMessage);
  end;
var
  Form1: TForm1;
  { Объявляем переменную сообщения }
  WM_OURMESSAGE: DWORD;
implementation
{$R *.dfm}
{ Реализация наших методов DefaultHandler }
procedure TForm1.DefaultHandler(var Message);
var
    ee: TWMMYMessage;
begin
  with TMessage(Message) do
  begin
    if (Msg = WM_OURMESSAGE) then
    begin
      ee.Msg:= Msg;
      ee.Handle:= WParam;
      ee.Info:= LParam;
      // проверяем, если сообщение не от нас
      if ee.Handle <> Handle then
        WMMYMessage(ee);
    end
    else
      inherited DefaultHandler(Message);
  end;
end;
procedure TForm1.WMMYMessage(var Msg: TWMMYMessage);
begin
  Label1.Caption:= Format('Дескриптор формы другого приложения : %d', [Msg.Handle]);
  Label2.Caption:= Format('Ширина формы другого приложения : %d', [Msg.Info]);
end;
{ Добавляем сообщение }
procedure TForm1.Button1Click(Sender: TObject);
begin
  SendMessage(HWND_BROADCAST, WM_OURMESSAGE, Handle, Width);
end;
{ Регистрируем наше сообщение }
initialization
  WM_OURMESSAGE:= RegisterWindowMessage('Our broadcast message');
Компилируем и запускаем две копии приложения и проверяем все функциональные возможности.

Комментарии