Hallo,
ich habe eine Ressourcen-DLL verändert unter RT-Version
Ändere ich die Sprache, so wird im Eigenschaftsfenster (unter Detail) der DLL die Sprache
richtig angepasst, aber die anderen Eigenschaften sind leer oder weg.
Ich habe erst mal auf Button-Click eine Testlösung gemacht:
(die Sprache ändere ich erstmal dirty mässig, am entsprechenden Index )
void CTestDBDlg::OnBnClickedRestest()
{
HANDLE h;
HRSRC hRes;
HINSTANCE hLib = LoadLibraryEx("C:\\TestDB\\TestDll\\Visu_Maschine. dll", NULL, LOAD_LIBRARY_AS_DATAFILE);
if (hLib != NULL)
{
hRes = FindResource( hLib, MAKEINTRESOURCE(VS_VERSION_INFO), RT_VERSION );
if (hRes != NULL)
{
DWORD dwSize = SizeofResource(hLib, hRes);
HGLOBAL hResData = LoadResource(hLib, hRes);
WORD* pResData = (WORD*)LockResource( hResData);
HANDLE hDestRes = BeginUpdateResource("C:\\TestDB\\TestDll\\Visu_Mas chine2.dll", TRUE);
if (hDestRes != NULL)
{
WORD ResDataDest[0x7FFF];
WORD* pResDataDest = ResDataDest;
memcpy(pResDataDest, pResData,dwSize);
ResDataDest[400]= 0x080c; // French-Belgien, brutal aber herzlich.....
UpdateResource(hDestRes,
RT_VERSION,
MAKEINTRESOURCE(VS_VERSION_INFO),
MAKELANGID(LANG_FRENCH,SUBLANG_FRENCH_BELGIAN),
pResDataDest,
dwSize);
EndUpdateResource(hDestRes, FALSE);
}
}
}
}
Was mache ich falsch ?
Ich möchte nicht an der Binären Struktur herumwerkeln, gibt es dafür eine Funktion, die mir explizit die Sprache ändert ?
M.H
ich habe eine Ressourcen-DLL verändert unter RT-Version
Ändere ich die Sprache, so wird im Eigenschaftsfenster (unter Detail) der DLL die Sprache
richtig angepasst, aber die anderen Eigenschaften sind leer oder weg.
Ich habe erst mal auf Button-Click eine Testlösung gemacht:
(die Sprache ändere ich erstmal dirty mässig, am entsprechenden Index )
void CTestDBDlg::OnBnClickedRestest()
{
HANDLE h;
HRSRC hRes;
HINSTANCE hLib = LoadLibraryEx("C:\\TestDB\\TestDll\\Visu_Maschine. dll", NULL, LOAD_LIBRARY_AS_DATAFILE);
if (hLib != NULL)
{
hRes = FindResource( hLib, MAKEINTRESOURCE(VS_VERSION_INFO), RT_VERSION );
if (hRes != NULL)
{
DWORD dwSize = SizeofResource(hLib, hRes);
HGLOBAL hResData = LoadResource(hLib, hRes);
WORD* pResData = (WORD*)LockResource( hResData);
HANDLE hDestRes = BeginUpdateResource("C:\\TestDB\\TestDll\\Visu_Mas chine2.dll", TRUE);
if (hDestRes != NULL)
{
WORD ResDataDest[0x7FFF];
WORD* pResDataDest = ResDataDest;
memcpy(pResDataDest, pResData,dwSize);
ResDataDest[400]= 0x080c; // French-Belgien, brutal aber herzlich.....
UpdateResource(hDestRes,
RT_VERSION,
MAKEINTRESOURCE(VS_VERSION_INFO),
MAKELANGID(LANG_FRENCH,SUBLANG_FRENCH_BELGIAN),
pResDataDest,
dwSize);
EndUpdateResource(hDestRes, FALSE);
}
}
}
}
Was mache ich falsch ?
Ich möchte nicht an der Binären Struktur herumwerkeln, gibt es dafür eine Funktion, die mir explizit die Sprache ändert ?
M.H
Comment