Функция передачи строк (а заодно и числа) между программами через SendMessage:
Материал из DRKB
Функция передачи строк (а заодно и числа) между программами через SendMessage:[править | править код]
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;
Author: Rrader
Source: Взято с Vingrad.ru http://forum.vingrad.ru
ID: 02136