我正在尝试使用格式消息来获取仅英文值
MSDN 指定以下内容
DWORD WINAPI FormatMessage(
_In_ DWORD dwFlags,
_In_opt_ LPCVOID lpSource,
_In_ DWORD dwMessageId,
_In_ DWORD dwLanguageId,
_Out_ LPTSTR lpBuffer,
_In_ DWORD nSize,
_In_opt_ va_list *Arguments
);
对于 dwLanguageId 参数,
请求消息的语言标识符。如果 dwFlags 包含 FORMAT_MESSAGE_FROM_STRING,则忽略此参数。
如果您在此参数中传递特定 LANGID,则 FormatMessage 将仅返回该 LANGID 的消息。如果函数找不到该 LANGID 的消息,它将 Last-Error 设置为 ERROR_RESOURCE_LANG_NOT_FOUND。如果您传入零,则 FormatMessage 按以下顺序查找 LANGID 消息:
- 语言中立
- 线程 LANGID,基于线程的语言环境值
- 用户默认 LANGID,基于用户的默认语言环境值
- 系统默认 LANGID,基于系统默认语言环境值
- 美国英语
如果 FormatMessage 没有找到任何上述 LANGID 的消息,它会返回任何存在的语言消息字符串。如果失败,则返回 ERROR_RESOURCE_LANG_NOT_FOUND。
这是否意味着,如果值为 5,它将返回英文消息?
你能澄清一下吗?