Member 13957642 Ответов: 1

Мульти добавлен для один перевод в библиотеке DLL


Моя цель - измениться my.dll(язык chs(MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED))) к cht(MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL)) поэтому я использую UpdateResource для изменения stringtable в моем.файл DLL。

Но у меня есть два stringtable,один chs, который пуст;один cht, который ведет себя хорошо.

Я не знаю, как удалить chs stringtable, любой совет благодарен.

Что я уже пробовал:

part code:


BYTE* lpResData = (BYTE*)LockResource(hStringtableRes);

INT nResSize = SizeofResource(hDLL, hRes);

ChangeResLanguage(lpResData, nResSize);

UpdateResource(hUpdateRes, RT_STRING, lpName, CHS, NULL, 0);

UpdateResource(hUpdateRes, RT_STRING, lpName, CHT, lpResData, nResSize);

		    
                    

Richard MacCutchan

Лучше изменить исходный код и перестроить библиотеку dll.

Member 13957642

Библиотека dll предоставляется третьей стороной. Я знаю только язык dll это cht。

1 Ответов

Рейтинг:
2

KarstenK

Лучшее решение-использовать разные библиотеки dll и загружать их с помощью LoadLibrary. Исправление файлов проблематично и может привести к проблемам, когда права недоступны или антивирусное программное обеспечение может обнаружить это как атаку.


Member 13957642

Спасибо, Карстенк.
Я действительно хочу изменить свою жизнь.DLL в mycht.dll. my.dll есть много строк, поэтому я хочу создать инструмент, чтобы изменить язык.
Затем я использую код детали выше. меню,диалог,версия,html ведут себя хорошо. просто добавлен возникает проблема.

Затем в мой EXE-файл, я буду использовать функции LoadLibrary для различных файлов.