我需要发送一个短字符串(少于30个字节,但每秒发送一次),从一个VB应用程序发送到Delphi应用程序..这可能,在Windows中使用CopyDataStruct,WM_COPYDATA和SendMessage函数吗?
答案 0 :(得分:3)
我想说WM_COPYDATA是完成此任务的最佳方式。您只需要获取Delphi主表单,例如,为WM_COPYDATA实现一个消息处理程序。
在Delphi端,它看起来像这样:
TMyMainForm = class(TForm)
protected
procedure WMCopyData(var Msg: TWMCopyData); message WM_COPYDATA;
end;
procedure TMyMainForm.WMCopyData(var Msg: TWMCopyData);
begin
//do something with Msg.lpData
end;
您的VB代码需要获取Delphi主窗体的窗口句柄。
答案 1 :(得分:0)
这听起来像是你用DDE来完成的事情。另一种方法是将字符串写入注册表中的临时区域,然后调用其他程序读取它并在完成后删除临时注册表项。您还可以在命令行中将字符串作为参数传递,然后执行该程序。