我遇到一个问题,用户设置的语言环境(德语)与语言Windows的安装方式不同(英语)。有没有办法找到安装使用的语言窗口与用户设置的区域设置? 我应该注意问题是我正在创建一个共享,我根据Locale设置权限,所以如果用户已将Locale设置为German,则“Everyone”的权限为“Jeder”,但如果操作系统设置为英语,则会失败,因为它不是“Jeder”的ID
由于
答案 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”这个词进行编码?你有没有可以检查的变量?