Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Функция передачи строк (а заодно и числа) между программами через SendMessage

01.01.2007
Function SendString(TargetWnd, SourceWnd: THandle; N: Integer; Const S: String): Integer;
Var
  CD: TCopyDataStruct;
Begin
  CD.dwData := N;
  CD.cbData := Length(S);
  If CD.cbData = 0  Then
    CD.lpData := NIL
  Else CD.lpData := @S[1];
  Result := SendMessage(TargetWnd, WM_COPYDATA, SourceWnd, Integer(@CD));
End;
...
Procedure WMCopyData(Var Msg: TWMCopyData); Message WM_COPYDATA;
...
Procedure TForm1.WMCopyData(var Msg: TWMCopyData);
Var
 { Строка }
  S: String;
 { Число }
  N: Integer;
Begin
  If (Msg.CopyDataStruct^).lpData = NIL Then S := ''; 
  SetLength(S,Msg.CopyDataStruct^.cbData);
  S := String((Msg.CopyDataStruct^).lpData);
  N := (Msg.CopyDataStruct^).dwData;
End;

Автор: Rrader

Взято с Vingrad.ru https://forum.vingrad.ru