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

如何在外语版本的Windows上获取英文错误消息?

  •  2
  • StackedCrooked  · 技术社区  · 15 年前

    我使用的是荷兰语版本的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
    );
    

    但是,这将以荷兰语返回消息。是否可以用英语获取错误信息?

    3 回复  |  直到 7 年前
        1
  •  3
  •   Moayad Mardini    15 年前

    恐怕不行!阿法克,其他国际版的操作系统根本没有英文资源。

        2
  •  0
  •   Powerlord    15 年前

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

    我不确定这在Vista或7中是否可行,除非你有终极版,它有33-34种附加语言作为从Windows Update下载的功能。

        3
  •  0
  •   Community Jaime Torres    7 年前

    根据 this answer 您可以指定:

    MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)
    

    对于第4个参数 FormatMessage .

    或使用 another answer 可以通过设置当前线程的默认用户界面语言 SetThreadUILanguage .