gpt4 book ai didi

.net - 在 C++ 程序和 .NET 程序之间进行远程调用的最简单方法

转载 作者:太空宇宙 更新时间:2023-11-04 12:16:50 34 4
gpt4 key购买 nike

我有一个在后台运行的 .NET 程序,需要创建一个可以与该程序通信的 Windows Shell 扩展。起初我以为我会在 .NET 中创建我的 Shell Extension,并使用 IpcServerChannel 和 IpcClientChannel 在服务器(.NET 程序)和客户端(.NET Shell Exension)之间进行远程调用。这真的很简单,而且工作得很快。

现在我意识到在 .NET 中创建 Shell 扩展并不是一个好主意,因为在某些情况下它可能无法加载(例如,如果先加载 .NET 1.0 Shell 扩展)。我想我可能会走 C++ 路线,但在那种情况下,是否有一种简单的方法可以使我的 C++ Shell 扩展对我的 .NET 程序进行远程调用?或者您是否有任何其他想法让我的两个程序进行通信(如果我不必设计通信协议(protocol)并且可以直接进入图书馆,我会更愿意)。

谢谢!

最佳答案

好吧,您可以试试 SendMessage(WM_COPYDATA)

但是,如果您喜欢它,那么它的可扩展性(和可维护性)会高得多,只做命名管道或本地 inet 套接字。实际上,设计一个通信协议(protocol)并不像听起来那么困难:只需发送一个带有参数的序列化结构并等待序列化回复。然后处理超时和格式错误,大功告成!

关于.net - 在 C++ 程序和 .NET 程序之间进行远程调用的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7329865/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com