如果用户的计算机具有非英语,例如法语,会发生什么?那文本会用法语吗?我问这个是因为这是FormatMessage的行为,除非将dwLanguageId参数指定为LANG_ENGLISH而不是LANG_NEUTRAL。
答案 0 :(得分:0)
取决于使用哪个特定的异常类。基类CException
类中没有任何内容可以设置或格式化错误消息。但是,某些CException
派生类在返回错误消息时会调用FormatMessage
。例如,COleException::GetErrorMessage
调用
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,
NULL, m_sc,
MAKELANGID(LANG_NEUTRAL, SUBLANG_SYS_DEFAULT),
(LPTSTR) &lpBuffer, 0, NULL)
针对AfxThrowOleException中提供的SCODE(注意LANG_NEUTRAL)。