SendMessage(hWnd, WPARAM, LPARAM)
在C语言中可以用地址将字符串传送出去,在DELPHI中该如何做?
例如,我希望将Edit1.Caption当作消息的参数传递出去。

解决方案 »

  1.   

    var
     S : String;
    begin
      S := 'xxx';
      SendMessage(Handle,Msg,0,LongInt(Pchar(S)));
      //就行了
    end;
      

  2.   

    先发string的长度,然后把string[i]做为SendMessage的参数依次发出去,在接收方重组。当然如果你在一个进程则只要把string[0]的地址发出去就可以了,注意不要发string的地址,string是自动管理的,你没办法处理。
      

  3.   

    补充:用postMessage也是可以的,windows 32其实不会丢弃或打乱你的消息。
      

  4.   

    可以用WM_COPYDATA消息共享内存
    或用内存映射文件来共享
    不用在接收时那么繁琐!