【问题标题】:How to get error messages in English on a foreign language version of Windows?如何在外语版本的 Windows 上获取英文错误消息?
【发布时间】:2009-09-20 20:09:28
【问题描述】:

我使用的是荷兰语版本的 Windows,我有这段代码:

::FormatMessage
(
  FORMAT_MESSAGE_ALLOCATE_BUFFER
  | FORMAT_MESSAGE_FROM_SYSTEM
  | FORMAT_MESSAGE_IGNORE_INSERTS,
  NULL,
  lastError,
  MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT),
  (LPTSTR)&lpMsgBuf,
  0,
  NULL
);

但是,这会以荷兰语返回消息。是否可以改为用英文获取错误消息?

【问题讨论】:

    标签: winapi


    【解决方案1】:

    恐怕不行! AFAIK,英语资源在操作系统的其他国际版本中根本不可用。

    【讨论】:

      【解决方案2】:

      我知道的唯一方法是更改​​操作系统的配置语言,这会将所有文本更改为所述语言。

      我不确定这是否可以在 Vista 或 7 中实现,除非您拥有 Ultimate 版本,该版本具有 33-34 种额外语言,可从 Windows Update 下载。

      【讨论】:

        【解决方案3】:

        根据this answer,您可以指定:

        MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)
        

        对于FormatMessage的第四个参数。

        或者使用another answer,您可以通过SetThreadUILanguage为当前线程设置默认用户界面语言。

        【讨论】:

          猜你喜欢
          • 2012-09-20
          • 2011-03-16
          • 1970-01-01
          • 1970-01-01
          • 2018-11-18
          • 1970-01-01
          • 1970-01-01
          • 2010-09-27
          • 1970-01-01
          相关资源
          最近更新 更多