代码之家  ›  专栏  ›  技术社区  ›  Javamann

查找Windows安装为的语言

  •  6
  • Javamann  · 技术社区  · 16 年前

    我有一个问题,用户设置了他们的区域设置(德语),这与Windows安装为(英语)的语言不同。有没有一种方法可以发现Windows安装使用的语言与用户设置的语言环境? 我需要注意的是,问题是我正在创建一个共享,并且我根据区域设置了权限,因此如果用户将区域设置为德语,则“Everyone”的权限为“jeder”,但如果操作系统设置为英语,则这将失败,因为它不是“jeder”的ID。

    谢谢

    4 回复  |  直到 16 年前
        1
  •  5
  •   William Leara    16 年前

    Windows有“用户语言”和“系统语言”的概念。您需要的是系统语言。拿着它,你就会得到正确的答案。

    更新:您需要的win32函数是getSystemDefaultUILanguage()。

    检索的语言标识符 系统默认的用户界面语言 操作系统,也称为 Windows Vista上的“安装语言” 后来。

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

    请注意,Windows Installer可以查询属性“SystemLanguageID”。(以防您从安装者的角度感兴趣)

        2
  •  2
  •   Michael Dunn    16 年前

    问题的标题和问题本身是不同的问题。您试图创建一个“所有人”的sid,但是您是以一种依赖于区域设置的方式来实现的。解决问题的方法是不要使用依赖于区域设置的方法。使用CreateWellKnownsID API。CreateWellKnownsID上的msdn页面甚至包含创建Everyone SID的代码。

        3
  •  0
  •   Chris Ballance    16 年前

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

        4
  •  0
  •   Albert    16 年前

    你为什么要用“每个人”或“杰德”这个词来编码?有没有可以检查的变量?