Я работаю над собственным проектом WinAPI и использую версию языка API CSI C++ ANSI, но я столкнулся с проблемой при запуске программы на компьютере с нерусскими версиями Windows. Я вижу нечитаемые символы вместо русских букв.
Могу ли я добавить русский шрифт в проект WinAPI (GDI), где я использую не-Unicode (версия ANSI)? Я хочу запустить exe файл на компьютере с нерусской версией Windows, он может отображаться правильно? Или нужно изменить весь проект под Unicode?
Лучше всего использовать приложение для использования Unicode. Windows - это ОС на базе Unicode, и она находится в режиме LONG LONG.
Но если вы должны придерживаться ANSI, тогда вы можете развернуть нужный шрифт с вашим приложением (если у вас есть разрешение на это) и использовать AddFontResource()
для временной установки шрифта во время работы вашего приложения и удалить его с помощью RemoveFontResource()
когда приложение завершено.
ре
" Я хочу запустить exe файл на компьютере с нерусской версией Windows, он может отображаться правильно?
если вы измените его с ANSI на Unicode (т.е. на основе wchar_t
), да.
то вам также не нужно возиться со шрифтами.
так как Windows 2000 или около того не было 1 никакой причины использовать портативность слой ANSI, за исключением унаследованного кода
1) в то время, когда программы, предназначенные также для запуска на Windows 9x, могли использовать Layer for Unicode, введенные в 2000 году.