unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
const WM_MyMessage = WM_USER + 2000;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure MyCopyDataMsg(var Msg: TMessage); message WM_COPYDATA;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.MyCopyDataMsg(var Msg: TMessage);
var
cdds: TcopyDataStruct;
begin
if msg.Msg = WM_COPYDATA then
begin
try
cdds := PcopyDataStruct(Msg.LParam)^;
Memo1.Lines.Add(FormatDateTime('yyyy-mm-dd hh:nn:ss', Now()) + ' ' + Pchar(cdds.lpData));
Memo1.Perform(EM_LINESCROLL, 0, Memo1.Lines.Count);
except
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
lParam:string ;
cpStruct: COPYDATASTRUCT;
begin
lParam := Edit1.Text ;
cpStruct.dwData := 0;
cpStruct.cbData := length(lParam) + 1;
cpStruct.lpData := pchar(lParam);
SendMessage(Self.Handle, $004A, 0, Cardinal(@cpStruct)); //lParam和wParam的顺序不能交换
end;
end.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
const WM_MyMessage = WM_USER + 2000;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure MyCopyDataMsg(var Msg: TMessage); message WM_COPYDATA;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.MyCopyDataMsg(var Msg: TMessage);
var
cdds: TcopyDataStruct;
begin
if msg.Msg = WM_COPYDATA then
begin
try
cdds := PcopyDataStruct(Msg.LParam)^;
Memo1.Lines.Add(FormatDateTime('yyyy-mm-dd hh:nn:ss', Now()) + ' ' + Pchar(cdds.lpData));
Memo1.Perform(EM_LINESCROLL, 0, Memo1.Lines.Count);
except
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
lParam:string ;
cpStruct: COPYDATASTRUCT;
begin
lParam := Edit1.Text ;
cpStruct.dwData := 0;
cpStruct.cbData := length(lParam) + 1;
cpStruct.lpData := pchar(lParam);
SendMessage(Self.Handle, $004A, 0, Cardinal(@cpStruct)); //lParam和wParam的顺序不能交换
end;
end.