Вот, что добавил в свою прогу:
const
// CD_CMD_SETCAPTION = 78; // команда для передачи данных !!!
var
Form1: TForm1;
Implementation {$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var CDS: TCopyDataStruct;
begin
CDS.dwData := CD_CMD_SETCAPTION; // задаем команду
CDS.cbData := "SAY1" + Length(Edit1.Text) + 1;
GetMem(CDS.lpData, CDS.cbData);
try
StrPCopy(CDS.lpData, Edit1.Text);
SendMessage(FindWindow(NIL, 'CamGrabber'), // посылаем в окно с заголовком «CamGrabber»
WM_COPYDATA, Handle, Integer(@CDS));
finally FreeMem(CDS.lpData, CDS.cbData); end;
end;
Вот, что написал в тестовой:
const
CD_CMD_SETCAPTION = 78; // команда для приема данных.
var
Form1: TForm1;
implementation {$R *.dfm}
procedure TForm1.WMCopyData(var M: TWMCopyData);
begin
// Если команда — Берем текст данных
if M.CopyDataStruct.dwData = CD_CMD_SETCAPTION then
begin
Label1.Caption := PChar(M.CopyDataStruct.lpData);
M.Result := 1;
end
else M.Result := 0;
end;
Все правильно? Если да, то проще Вам добавить код и прислать
мне для тестирования.