【问题标题】:Link a custom messagebox to outlook将自定义消息框链接到 Outlook
【发布时间】:2013-10-02 05:15:48
【问题描述】:

我已经意识到我的 Outlook 添加了一个自定义消息框。 现在,当显示此消息框时,它与 Outlook 的主窗口取消链接。 如何将我的窗口与 Outlook 窗口“附加”为普通消息框? 是否有可以链接到 windows 的属性?

-- 编辑 ---

问题很简单:

  1. 打开 Outlook
  2. 在 Outlook 中显示自定义消息框
  3. 改变焦点(我打开一个新窗口,比如chrome浏览器
  4. 返回 Outlook:现在我的消息框没有“链接”到 Outlook。我希望在 Outlook 窗口打开时始终显示我的消息框

【问题讨论】:

  • 您需要更准确地布置问题。
  • 感谢您的回答。问题很简单:1-打开 Outlook 2-在 Outlook 中显示自定义消息框 3-更改焦点(我打开一个新窗口,例如 chrome 浏览器 4-返回 Outlook:现在我的消息框没有“链接”到 Outlook。我希望在 Outlook 窗口打开时始终显示我的消息框
  • 我不知道答案,但将这些重要细节放在问题中可能会有所帮助。

标签: wpf outlook outlook-addin messagebox


【解决方案1】:

终于解决了。 在我的消息框代码中,我插入了以下代码:

IntPtr hWnd = Process.GetProcessById(Process.GetCurrentProcess().Id).MainWindowHandle; System.Windows.Interop.WindowInteropHelper wih = new System.Windows.Interop.WindowInteropHelper(this);

wih.Owner = hWnd;

如图here

像这样,任何类型的消息(消息框、应用程序的一般处理错误)都与主应用程序“挂钩”。应用程序由 Process.GetCurrentProcess().Id 计算。

希望这对将来的某人有所帮助。

【讨论】:

    【解决方案2】:

    检索 Outlook 的 HWND 更严格的方法是将 Application.ActiveWindow(可以是 Explorer 或 Inspector)转换为 IOleWindow 并调用 IOleWindow.GetWindow()。

    【讨论】:

      猜你喜欢
      • 2011-11-02
      • 1970-01-01
      • 2011-12-12
      • 1970-01-01
      • 2012-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多