我正在开发一个 Outlook 2007 插件。
我如何知道 Outlook 语言(英语或法语版本..)
1 回答
有很多方法可以做到这一点。尽管具体过程取决于 Exchange 服务器版本,但 MAPI 客户端(在本例中为 Outlook)会将用户信息存储中的 PR_LOCALE_ID 属性设置为 MAPI 客户端 (Outlook) 在其中运行期间的区域设置 (LCID) ID登录。
这可能对您有用,也可能不适用。
我不确切地知道用于 LCID 的值是如何由 Outlook 确定的,因此这在具有复杂 Office 语言配置的环境中可能没有用。
此外,PR_LOCALE_ID 属性的设置方式因您的 Exchange 版本而异。我相信在 Exchange 2007+ 中,它只会在配置文件创建和初始登录期间设置 LCID,即使用户的区域设置发生变化,也不会再次触及它。创建一个新的配置文件是它更新的唯一方法。
我没有写任何提供上述功能的东西,所以你的里程可能会因该技术而异。
但是,如果您有权访问注册表,您确实可以使用另一个选项。如果您安装了 Outlook 2007,您应该有一个名为“InstalledUI”的注册表项位于(假设是 32 位机器):
HKLM\SOFTWARE\Microsoft\Office\12.0\Common\LanguageResources\InstalledUI
如果您查看该键,您应该会看到名称具有 LCID 的值。您可以得出结论,系统支持此处出现的任何 LCID。每个 LCID (REG_SZ) 的值指示语言的状态。因此,例如,如果英语对我来说是有效的,我会将一个名为“1033”的值设置为“开”。
希望其中一种技术对您有用。