Próbuję użyć wiadomość formatu do uzyskania tylko w języku angielskim ceniJak korzystać FormatMessage C++ do uzyskania tylko w języku angielskim wiadomości
MSDN określa następujące
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
);
parametru dwLanguageId,
Identyfikator języka dla żądanej wiadomości. Ten parametr jest ignorowany, jeśli dwFlags zawiera FORMAT_MESSAGE_FROM_STRING.
Jeśli w tym parametrze zostanie przekazany określony LANGID, funkcja FormatMessage zwróci komunikat tylko dla tego LANGID. Jeśli funkcja nie może znaleźć komunikatu dla tego LANGID, ustawia Last Error na ERROR_RESOURCE_LANG_NOT_FOUND. Jeśli przejdzie w zero, FormatMessage wygląda na wiadomość o LANGIDs w następującej kolejności:
- języka neutralnego
- langId nicią, na podstawie wartości locale wątku domyślnego langId
- użytkownika, w oparciu o domyślne użytkownika wartość locale
- domyślny system LANGID, na podstawie domyślnego systemu wartości locale
- US English
Jeśli format Komunikat nie lokalizuje komunikatu dla żadnego z poprzedzających identyfikatorów LANGID, zwraca ciąg znaków dowolnego języka, który jest obecny. Jeśli to się nie powiedzie, zwraca ERROR_RESOURCE_LANG_NOT_FOUND.
Czy to oznacza, że jeśli ma wartość równą 5, zwróci wiadomości w języku angielskim?
Czy możesz to wyjaśnić?
To jest jeden z nich, w którym naprawdę chciałabym móc zająć się specjalnie przygotowaniem do montażu. Ładnie zrobione @RobKennedy! –
Ciekawe, dlaczego chcesz po prostu angielski? Z pewnością użytkownik powinien być w stanie czytać w ich własnym języku, jeśli wiadomość jest dostępna? – Deanna
to prawda, ale aplikacja wyświetla wszystkie komunikaty w języku angielskim, ale komunikaty systemowe są wyświetlane w języku natywnym ... dzięki czemu jest spójny –