我有一个 .NET 2.0 Windows 桌面应用程序(时间表),我开发并希望向它添加一个小工具界面(以便应用程序隐藏运行并通过小工具控制)。
让我的小工具与我的应用程序通信的最简单方法是什么?
我的一个想法是在应用程序中内置一个 Web 服务器,并且小工具控件使用 ajax 与应用程序通信。但是我希望有一个更简单的解决方案。
我有一个 .NET 2.0 Windows 桌面应用程序(时间表),我开发并希望向它添加一个小工具界面(以便应用程序隐藏运行并通过小工具控制)。
让我的小工具与我的应用程序通信的最简单方法是什么?
我的一个想法是在应用程序中内置一个 Web 服务器,并且小工具控件使用 ajax 与应用程序通信。但是我希望有一个更简单的解决方案。
你没有具体说明小工具和应用程序是用什么技术编写的,所以很难回答。假设您可以使用 .NET,带有命名管道绑定的 WCF 将非常简单。只需几行代码即可进行设置。
我们在其中一个小工具的 ActiveX 控件中使用 win32 API 来与同一小工具的其他实例进行通信。不幸的是,我不能给你代码(因为我没有权限并且我不编写 .net 的东西),但归结为使用一个窗口(在你的情况下是应用程序窗口)作为服务器和gadget ActiveX 控件作为客户端并使用SendMessage函数。
您可以在http://www.codeproject.com/KB/gadgets/GadgetInterop.aspx上查看将 COM 互操作与 Windows 桌面小工具一起使用的示例
注意:确保互操作程序集位于应用程序的目录中,而不是小工具目录中,否则在更新/卸载小工具时会遇到问题。