用Delphi程序接收C++代码sendmessage发送的WM_COPYDATA消息,使用vb接收正常,而用Delphi窗口却只能收到第一个字符,剩下的全都收不到。而Delphi接收Delphi程序sendmessage发送的WM_COPYDATA消息却可以正常接收,不知道是为什么,请高手指点迷津,多谢!!
发送消息的代码如下:    COPYDATASTRUCT cds={0}; 
    cds.lpData = (void *)lpApplicationName; 
    cds.cbData = 255; 
    res = SendMessage(FindWindow(NULL, "Form2"), WM_COPYDATA, GetCurrentProcessId(), (LPARAM)&cds);
接收消息的Delphi完整代码如下:unit Receiveunit;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
  private
    { Private declarations }
  public
    procedure Capturemessage(var CopyData:TWmCopyData);message WM_COPYDATA;
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}
procedure TForm1.Capturemessage(var CopyData:TWmCopyData);
begin 
  Edit1.text:=StrPas(CopyData.CopyDataStruct^.lpData);//接收数据获取数据并显示 
end;end.