Salut � tous,
J'ai plut�t du mal � trouver des infos sur les string table donc un petit post :)
Mon but est de r�aliser une application multilingue en c++.
J'aurais voulu passer par les .resx mais les d�clarations suivante m'oblige � compiler avec /clr qui malheureusement n'est pas compatible avec /MT.
Or je dois compiler avec /MT car il ne me faut pas distribuer de DLL.Code:
1
2
3
4
5 using namespace System; using namespace System::Globalization; using namespace System::Security::Permissions; using namespace System::Threading;
D'o� la solution des String Table.
Maintenant probl�me (naturellement :p)... Ca ne m'arrange pas que la langue soit d�fini automatiquement en fonction de la langue de l'exe.
Y aurait-il un moyen de cibler sur la string table de mon choix ? (comme changer dynamiquement la langue ou autre ...)
Merci par avance ;)
Cordialement
EDIT: j'ai trouv� une alternative avec SetThreadLocale mais la msdn dit de ne plus l'utiliser et de prendre FindResourceEx � la place.
Mais pas moyen de faire marcher celle-ci..
Voila ce que j'ai essay� :
Une id�e ?Code:
1
2
3
4
5
6 HMODULE hModule = NULL; WORD LangID = MAKELANGID(LANG_ENGLISH, SUBLANG_DEFAULT); HRSRC hRC = FindResourceEx(hModule, RT_STRING, MAKEINTRESOURCE(101), LangID); HGLOBAL hgl = LoadResource(hModule, hRC); LPWSTR res_str = (LPWSTR)LockResource(hgl);