sendunit.pas
上传用户:psxgmh
上传日期:2013-04-08
资源大小:15112k
文件大小:1k
源码类别:

Delphi/CppBuilder

开发平台:

Delphi

  1. unit sendunit;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5.   Dialogs, StdCtrls, Buttons;
  6. type
  7.   TForm1 = class(TForm)
  8.     Edit1: TEdit;
  9.     Label1: TLabel;
  10.     BitBtn1: TBitBtn;
  11.     procedure BitBtn1Click(Sender: TObject);
  12.   private
  13.     { Private declarations }
  14.   public
  15.     procedure SendData;
  16.     { Public declarations }
  17.   end;
  18. var
  19.   Form1: TForm1;
  20. implementation
  21. {$R *.dfm}
  22. procedure TForm1.SendData; //发送消息和数据过程
  23. var
  24. Copydatastruct: TCopyDataStruct; //定义一个Tcopydatastruct类型的变量
  25. hwnd: THandle; //句柄类型,用于存储目标对象的句柄
  26. begin 
  27. Copydatastruct.cbData := Length (Edit1.Text) + 1; 
  28. //为传递的数据区分配内存并把要传送的字符串放入数据区
  29. GetMem (Copydatastruct.lpData, Copydatastruct.cbData ); 
  30. StrCopy (Copydatastruct.lpData, PChar (Edit1.Text)); 
  31. // 获得接收窗口的句柄
  32. Hwnd := FindWindow (nil, '利用WM_COPYDATA进行数据交换演示Receive ');
  33. // 如果目标对象存在,则向其发送WM_COPYDATA消息
  34. if Hwnd <> 0 then 
  35. SendMessage (Hwnd, WM_COPYDATA, Handle, Cardinal(@Copydatastruct)) 
  36. else 
  37. ShowMessage ('目标对象窗口没找到!'); 
  38. //释放资源
  39. FreeMem (Copydatastruct.lpData); 
  40. end;
  41. procedure TForm1.BitBtn1Click(Sender: TObject);
  42. begin
  43.  if Edit1.Text<>'' then
  44.   SendData;
  45. end;
  46. end.