delphi 发送字符串

来源:互联网 发布:淘宝饰品店发展前景 编辑:程序博客网 时间:2024/06/12 19:31

发送

procedure TForm1.SendString(strMSG: string);
var
  Data: tagCOPYDATASTRUCT;
  pBuf: PChar;
begin
  GetMem(pBuf, Length(strMSG) + 1);
  try
    ZeroMemory(pBuf, Length(strMSG) + 1);
    StrPCopy(pBuf, strMSG);

    Data.cbData:= Length(strMSG);
    Data.dwData:= Length(strMSG);
    Data.lpData:= pBuf;
    SendMessage(Form2.Handle, WM_COPYDATA, 0, Integer(@Data));
    Sleep(200);
  finally
    FreeMem(pBuf);
  end;
end;

 

接受:

   procedure WMCopyData(var MSG: TWMCopyData); message WM_COPYDATA;

  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.WMCopyData(var MSG: TWMCopyData);
begin
  Caption:= StrPas(PChar(Msg.CopyDataStruct^.lpData));
end;

 

 Application.MainForm.Handle; 减少和具体主窗体的交互。和消息发送一起用降低系统耦合性

原创粉丝点击