MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)
이 아닌 언어 ID에 0을 사용하십시오. 그런 다음 FormatMessage
은 스레드의 언어 ID를 기반으로 자원을 선택하거나 GetUserDefaultLangID
을 사용합니다.
FormatMessage 문서 :
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
:
이 매개 변수의 특정 LANGID를 전달하면
는
FormatMessage
는 그 LANGID으로 만 메시지를 반환합니다. 함수가 해당 LANGID에 대해 메시지를 찾을 수 없으면 Last-Error를
ERROR_RESOURCE_LANG_NOT_FOUND
으로 설정합니다. 당신이 제로에 전달하면
, FormatMessage
다음 위해 LANGIDs에 대한 메시지를 찾습니다
- 언어 중립적
- 스레드 LANGID, 스레드의 로케일 값
- 사용자 기본 LANGID를 기반으로 기반 사용자의 기본 로케일 값에서
- 시스템 기본 로케일 값을 기준으로 한 시스템 기본 LANGID
- 영어 영어
테스트 용이라면 특정 언어를 컴퓨터에 설치할 수 있습니다. 그렇지 않으면 그냥'MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT)'를 사용하거나 복잡한 목표가 있습니까? –
실제로 오류 알림 메커니즘을 통일하고 싶습니다. 즉 시스템 오류 코드를 현재 응용 프로그램에서 선택한 언어로 번역하고 싶습니다. –