Tôi cố gắng để sử dụng nhắn định dạng để có được tiếng Anh chỉ có giá trịLàm thế nào để sử dụng FormatMessage C++ để nhận chỉ những thông điệp tiếng Anh
MSDN quy định cụ thể như sau
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
);
Đối với tham số dwLanguageId,
Số nhận dạng ngôn ngữ cho thư được yêu cầu. Tham số này bị bỏ qua nếu dwFlags bao gồm FORMAT_MESSAGE_FROM_STRING.
Nếu bạn vượt qua LANGID cụ thể trong tham số này, FormatMessage sẽ trả về một thông báo cho LANGID đó. Nếu chức năng không thể tìm thấy một thông báo cho LANGID đó, nó sẽ đặt Last-Error thành ERROR_RESOURCE_LANG_NOT_FOUND. Nếu bạn vượt qua trong zero, FormatMessage tìm kiếm một thông điệp cho LANGIDs theo thứ tự sau:
- Ngôn ngữ trung tính
- Chủ đề LANGID, dựa trên giá trị locale của chủ đề
- tài khoản mặc định LANGID, dựa trên mặc định của người dùng giá trị locale
- hệ thống mặc định LANGID, dựa trên giá trị mặc định miền địa phương hệ thống
- tiếng Anh-Mỹ
Nếu Format Thư không tìm thấy thư cho bất kỳ LANGID nào trước đó, nó sẽ trả về bất kỳ chuỗi thông điệp ngôn ngữ nào hiện diện. Nếu không thành công, nó sẽ trả về ERROR_RESOURCE_LANG_NOT_FOUND.
Điều này có nghĩa là, nếu vượt qua giá trị 5, nó sẽ trả về tin nhắn bằng tiếng Anh?
Bạn có thể làm rõ điều này không?
Đây là một trong những nơi tôi thực sự muốn tôi có thể truyền một upvote đặc biệt cho việc chỉnh sửa. Được thực hiện tốt nhất @RobKennedy! –
Không quan tâm, tại sao bạn chỉ muốn tiếng anh? Chắc chắn một người dùng sẽ có thể đọc bằng ngôn ngữ riêng của họ nếu tin nhắn có sẵn? – Deanna
đúng, nhưng ứng dụng hiển thị tất cả các tin nhắn bằng tiếng Anh nhưng thông báo hệ thống được hiển thị ở dạng gốc ... làm cho nó phù hợp –