c# app与vb6 app通信
Posted
技术标签:
【中文标题】c# app与vb6 app通信【英文标题】:c# app communicate with vb6 app 【发布时间】:2011-10-10 18:23:34 【问题描述】:我编写了一个 c#.net 4.0 应用程序,我需要将数据发送到一个 VB6 应用程序。 VB6 可以通过 DDE 发送和接收数据,但我找不到任何适用于我的 C# 应用程序的工作和/或可理解的 DDE 协议。我可以尝试更改 VB 应用程序的通信协议。 您对合适的协议有什么建议吗?
我找到了这个topic,我想我会选择 TCP winsock 协议,它在两个工作区都可用,但是我找不到这种多语言使用 Winsock 的任何工作代码示例。 我会很高兴得到这样的例子。 谢谢!
【问题讨论】:
你有没有想过这个问题? 对不起,我不记得了……那是很久以前的事了……我想我只是把它扔掉了,并与共享文件夹上的文件 IO 通信。效率不是很高,但它完成了工作。 【参考方案1】:如果你想坚持使用 DDE,你可以查看这个项目:http://ndde.codeplex.com/ 或http://www.angelfire.com/biz/rhaminisys/ddeinfo.html。我没有使用它们的经验,但它们旨在解决问题。
但是,如果您有 VB6 应用程序的源代码,那么公开 COM 接口可能会简单得多。
您可以通过将项目从标准 EXE 更改为 ActiveX EXE 并创建至少一个公开您的方法的公共类来实现。我为我以前使用 DDE 的所有 VB6 应用程序都这样做了,并强烈推荐它。它为客户端应用程序提供了更好的界面。
【讨论】:
VB6 应用程序的问题在于我有权更改它。这是第三方应用程序。我只能建议对兼容性进行更改。你的建议太多了。 但是,我会再次检查 DDE 问题。 +1 DDE 的另一个选择是编写一个 VB6 工具来为您发送/接收 DDE。将其设为 ActiveX exe,然后您就可以从 .Net 调用它以上是关于c# app与vb6 app通信的主要内容,如果未能解决你的问题,请参考以下文章
VB6 使用 .Net dll。无法读取 app.config