找出安装的语言窗口

时间:2009-06-04 22:18:19

标签: registry locale

我遇到一个问题,用户设置的语言环境(德语)与语言Windows的安装方式不同(英语)。有没有办法找到安装使用的语言窗口与用户设置的区域设置? 我应该注意问题是我正在创建一个共享,我根据Locale设置权限,所以如果用户已将Locale设置为German,则“Everyone”的权限为“Jeder”,但如果操作系统设置为英语,则会失败,因为它不是“Jeder”的ID

由于

4 个答案:

答案 0 :(得分:5)

Windows具有“UserLanguage”和“SystemLanguage”的概念。您要求的是SystemLanguage。得到它,你会得到正确的答案。

更新:你想要的Win32功能是GetSystemDefaultUILanguage()

  

检索语言标识符   系统的默认UI语言   操作系统,也称为   Windows Vista上的“安装语言”   以后。

http://msdn.microsoft.com/en-us/library/dd318123(VS.85).aspx

请注意,Windows Installer可以查询属性“SystemLanguageId”。 (如果你对instller的观点感兴趣的话)

答案 1 :(得分:2)

问题的标题和问题本身是不同的问题。您正在尝试创建一个“Everyone”SID,但是您将以一种取决于区域设置的方式来实现它。您的问题的解决方案是不使用依赖于语言环境的方法。使用CreateWellKnownSid API。 CreateWellKnownSid上的MSDN页面甚至还有用于创建Everyone SID的代码。

答案 2 :(得分:0)

我想你可以枚举安装的语言包,但可能无法检索安装过程中使用的语言,除非你有权访问安装日志。

答案 3 :(得分:0)

为什么要对“Everyone”或“Jeder”这个词进行编码?你有没有可以检查的变量?