Problem mit FindResource, Ergebnis immer NULL !???



  • Hallo, ich möchte gerne einige Felder auf meine GUI in verschiedene Sprachen ändern. Dabei wollte ich die FindResource-Funktion benutzen, laut msdn sollte sie den Zweck erfüllen, ABER ich bekomme immer NULL zurück...hmm ?

    HRSRC hResLoad;     // handle to loaded resource 
    HANDLE hExe;        // handle to existing .EXE file 
    HRSRC hRes;         // handle/ptr. to res. info. in hExe 
    HANDLE hUpdateRes;  // update resource handle 
    char *lpResLock;    // pointer to resource data 
    BOOL result; 
    // Load the .EXE file that contains the dialog box you want to copy. 
    hExe = LoadLibrary("hand.exe"); 
    if (hExe == NULL) 
    { 
        ErrorHandler("Could not load exe."); 
    } 
    
    // Locate the dialog box resource in the .EXE file. 
    hRes = FindResource(hExe, "IDD_ABOUTBOX", RT_DIALOG); 
    if (hRes == NULL) 
    { 
        Messagebox("Could not locate dialog box."); 
    } 
    
    // Load the dialog box into global memory. 
    hResLoad = LoadResource(hExe, hRes); 
    if (hResLoad == NULL) 
    { 
        Messagebox("Could not load dialog box."); 
    } 
    
    // Lock the dialog box into global memory. 
    lpResLock = LockResource(hResLoad); 
    if (lpResLock == NULL) 
    { 
        Messagebox("Could not lock dialog box."); 
    } 
    
    // Open the file to which you want to add the dialog box resource. 
    hUpdateRes = BeginUpdateResource("foot.exe", FALSE); 
    if (hUpdateRes == NULL) 
    { 
        Messagebox("Could not open file for writing."); 
    } 
    
    // Add the dialog box resource to the update list. 
    result = UpdateResource(hUpdateRes,       // update resource handle 
         RT_DIALOG,                   // change dialog box resource 
         "AboutBox",                  // dialog box name 
         MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL),  // neutral language
         lpResLock,                   // ptr to resource info 
         SizeofResource(hExe, hRes)); // size of resource info. 
    if (result == FALSE) 
    { 
        Messagebox("Could not add resource."); 
    } 
    
    // Write changes to FOOT.EXE and then close it. 
    if (!EndUpdateResource(hUpdateRes, FALSE)) 
    { 
        Messagebox("Could not write changes to file."); 
    } 
    
    // Clean up. 
    if (!FreeLibrary(hExe)) 
    { 
        Messagebox("Could not free executable."); 
    }
    

    Hat schonmal jemand ähnliches erlebt ? Bräuchte echt Hilfe, Danke


Anmelden zum Antworten