WM_CopyData 用法

[delphi] view plain copy
 
 print?
  1. unit Unit1;  
  2.   
  3. interface  
  4.   
  5. uses  
  6. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  
  7. Dialogs, StdCtrls, ComCtrls;  
  8.   
  9. type  
  10. TForm1 = class(TForm)  
  11. Button1: TButton;  
  12. Edit1: TEdit;  
  13. Edit2: TEdit;  
  14. procedure Button1Click(Sender: TObject);  
  15.   
  16. private  
  17. { Private declarations }  
  18. public  
  19. procedure MyCopyDataMsg(Var Msg : TMessage); Message WM_COPYDATA;  
  20. end;  
  21.   
  22. var  
  23. Form1: TForm1;  
  24.   
  25. implementation  
  26.   
  27. {$R *.dfm}  
  28.   
  29. procedure TForm1.Button1Click(Sender: TObject);  
  30. var  
  31. cdds : TCopyDataStruct;  
  32. begin  
  33.   
  34. cdds.dwData := 0;  
  35. cdds.cbData := length(Edit1.Text)+1;  
  36. cdds.lpData := pchar(Edit1.Text);  
  37. SendMessage(Handle,WM_COPYDATA,0,LongWord(@cdds));  
  38. end;  
  39.   
  40. procedure TForm1.MyCopyDataMsg(var Msg: TMessage);  
  41. var  
  42. cdds : TcopyDataStruct;  
  43. begin  
  44. if msg.Msg = WM_COPYDATA then  
  45. begin  
  46. cdds := PcopyDataStruct(Msg.LParam)^;  
  47. edit2.Text := (Pchar(cdds.lpData));  
  48. end;  
  49. end;  
  50.   
  51. end.  

http://blog.csdn.net/huang_xw/article/details/8015286

原文地址:https://www.cnblogs.com/findumars/p/7257472.html