用自定义表单替换部分 Outlook 客户端的 window

Replacing part of Outlook client's window with a custom form

我正在为 Outlook 客户端开发 VSTO 应用程序。我正在尝试在 Outlook 客户端 window 的部分打开我的表单,在下图中以红色突出显示:

我想我不能使用表单区域,因为它们会替换单个项目的视图。 所以基本上我想要做的是在我单击工具栏上的工具按钮时在红色区域打开我的自定义表单(windows 或 web)。 知道如何做到这一点吗?

您需要进入 HWND 级别才能插入您的 UI - 请参阅 https://blogs.msdn.microsoft.com/stephen_griffin/2010/06/01/adjacent-windows-in-outlook/ and https://code.msdn.microsoft.com/OlAdjacentWindows/

您可以通过三种主要方式在此处显示您自己的表单:

  1. 您可以使用文件夹 class 的 WebViewURL and WebViewOn 属性来设置文件夹的 Web 视图状态。 Microsoft Outlook 使用客户端计算机上安装的 Windows Internet Explorer 版本的呈现引擎来显示网页。如果客户端计算机上没有安装 Internet Explorer,Outlook 将不会显示该网页。

  2. 创建一个附属的 Outlook window。见 Creating Adjacent Windows In Outlook for more informaiton. Note, you need to have a deep understanding of Windows API to move that way, see SetWindowsHookEx.

  3. Add-in Express 提供开箱即用的表单布局。在那种情况下没有必要发明轮子。