Outlook 加载项与 VB Windows 表单应用交互
Outlook Add In interact with VB Windows Form App
我正在尝试创建一个 outlook 添加,我在其中右键单击一封邮件,然后会弹出一个特殊的弹出菜单,该菜单与我也在 [上创建的 VB Windows 表单应用程序交互=18=].
谁能指导我实现这种互动的几种方法?
谢谢
您的 VSTO add-in 可以被视为基于 .net 的常规应用程序。因此,您可以使用标准的 .net 工具在两个单独的应用程序之间进行通信 - 您的 VSTO add-in 和 Windows Forms 应用程序。
如果您有现有的 WinForms 应用程序,那么我假设您没有使用 .NET 5,因此您可以使用 Windows Communication Foundation (WCF). If you are using .NET 5 or above for WinForms then you cannot use WCF; gRPC 作为替代方案,它不适用于 .Net 5 之前的 .Net。WCF 有被设计为 high-level 应用程序间通信的大多数选项的接口。
如果您不想要客户端和服务器,那就是所谓的 Peer-to-Peer Networking。
选择在两个应用程序之间通信的技术后,您可以使用功能区回调获取当前选定的项目。通常,按钮控件的 onAction
回调具有以下签名:
C#: void OnAction(IRibbonControl control)
VBA: Sub OnAction(control As IRibbonControl)
C++: HRESULT OnAction([in] IRibbonControl *pControl)
Visual Basic: Sub OnAction(control As IRibbonControl)
您可以使用 IRibbonControl instance passed as a parameter to get the Context 属性 值表示包含触发回调过程的功能区用户界面的活动 window。之后就可以得到Selection
对象,处理选中的item被点击了。
我正在尝试创建一个 outlook 添加,我在其中右键单击一封邮件,然后会弹出一个特殊的弹出菜单,该菜单与我也在 [上创建的 VB Windows 表单应用程序交互=18=].
谁能指导我实现这种互动的几种方法?
谢谢
您的 VSTO add-in 可以被视为基于 .net 的常规应用程序。因此,您可以使用标准的 .net 工具在两个单独的应用程序之间进行通信 - 您的 VSTO add-in 和 Windows Forms 应用程序。
如果您有现有的 WinForms 应用程序,那么我假设您没有使用 .NET 5,因此您可以使用 Windows Communication Foundation (WCF). If you are using .NET 5 or above for WinForms then you cannot use WCF; gRPC 作为替代方案,它不适用于 .Net 5 之前的 .Net。WCF 有被设计为 high-level 应用程序间通信的大多数选项的接口。
如果您不想要客户端和服务器,那就是所谓的 Peer-to-Peer Networking。
选择在两个应用程序之间通信的技术后,您可以使用功能区回调获取当前选定的项目。通常,按钮控件的 onAction
回调具有以下签名:
C#: void OnAction(IRibbonControl control)
VBA: Sub OnAction(control As IRibbonControl)
C++: HRESULT OnAction([in] IRibbonControl *pControl)
Visual Basic: Sub OnAction(control As IRibbonControl)
您可以使用 IRibbonControl instance passed as a parameter to get the Context 属性 值表示包含触发回调过程的功能区用户界面的活动 window。之后就可以得到Selection
对象,处理选中的item被点击了。