我需要从一个 VB 应用程序向 Delphi 应用程序发送一个短字符串(小于 30 个字节,但每秒发送一次)。这可能吗,在 Windows 中使用 CopyDataStruct、WM_COPYDATA 和 SendMessage 函数?
问问题
871 次
2 回答
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 主窗体的窗口句柄。
于 2011-04-05T10:04:10.717 回答
0
这听起来像是您将使用 DDE 来完成的事情。另一种方法是将字符串写入注册表中的临时区域,然后调用其他程序读取它并在完成后删除临时注册表项。您也可以在命令行中将字符串作为参数传递,然后执行程序。
于 2013-04-06T17:06:18.903 回答