具有新 Office 高 DPI 支持的 Outlook VSTO

Posted

技术标签:

【中文标题】具有新 Office 高 DPI 支持的 Outlook VSTO【英文标题】:Outlook VSTO with new Office High DPI support 【发布时间】:2019-02-24 17:33:18 【问题描述】:

我们有一个用于 Outlook 的 Office VSTO 插件,用 C# 编写并使用 Windows 窗体。

在最近的 Office 更新之前,加载项的渲染效果很好。但在微软推出Office support for high definition displays 之后,许多表单在 Outlook 2016 (MSO / Office 365) 中开始呈现空白。

我可以通过在 Outlook 底部状态栏的显示设置中选择“优化兼容性”在 Outlook 中解决此问题:

但是,如果每个用户都必须手动执行此操作,这对我们的客户来说不是一个可行的解决方案。所以我有两个问题:

    此设置位于 Windows 注册表中的哪个位置,我需要写入什么值才能激活“优化兼容性”模式? 如何让我的 WinForms 插件在新的“优化以获得最佳外观”模式下工作?

更新

我发现禁用过渡以一种形式解决了问题,即在删除过渡后控件开始出现。但我们最重要的表单即使在移除所有转换后仍然呈现空白。

我还尝试将项目升级到 .NET 4.7 并为 Windows 窗体启用新的 high DPI support。但这也没有解决问题。

【问题讨论】:

【参考方案1】:

我现在可以自己回答问题 1: Outlook 2016 MSO 将设置存储在

HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Options

在名称“RenderForMonitorDpi”下。如果设置为 1,则该选项设置为“优化以获得最佳外观”。如果设置为 0,则会设置为“优化兼容性”。

【讨论】:

以上是关于具有新 Office 高 DPI 支持的 Outlook VSTO的主要内容,如果未能解决你的问题,请参考以下文章

如何配置应用程序以在具有高 DPI 设置(例如 150%)的机器上正确运行?

如何配置应用程序以在具有高 DPI 设置(例如 150%)的机器上正确运行?

如何配置应用程序以在具有高 DPI 设置(例如 150%)的机器上正确运行?

支持高DPI的录屏技术

win10 dpi设置是啥意思

win10缩放影响鼠标dpi