Announcement

Collapse
No announcement yet.

UpdateResource mit RT_Version verändert Eigenschaftsfenster der Res.DLL

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • UpdateResource mit RT_Version verändert Eigenschaftsfenster der Res.DLL

    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
    Zuletzt editiert von Mike Hanke; 12.07.2011, 14:21.

  • #2
    UpdateResource:
    It is recommended that the resource file is not loaded before this function is called. However, if that file is already loaded, it will not cause an error to be returned.
    Christian

    Comment


    • #3
      Hallo,

      ich lade die Ressourcen von Visu_Maschine.dll, ändere Visu_Maschine2.dll.
      Verstehe nicht, was ich noch machen muß ?

      M.H

      Comment


      • #4
        Sorry, das habe ich nicht gesehen
        Christian

        Comment


        • #5
          Hallo,

          kann mir denn keiner sagen, wo mein Fehler liegt ?
          Ich habe alles versucht, weiß echt nicht mehr weiter....

          Das komische ist, ändere ich mit meiner dirty-Methode an der Company-Eigenschaft, funktioniert alles, auch das Eigenschaftsfenster ist ohne Fehler.

          Gibt es vielleicht irgendwo eine Checksumme, die ich richtig setzen muß ?



          M.H.

          Comment

          Working...
          X