Adăugarea, ștergerea și înlocuirea resurse

Cererile trebuie să frecvent adăuga, șterge sau înlocui resurse în fișiere executabile. Două metode pot fi utilizate pentru a îndeplini aceste sarcini. Primul este de a edita fișierul definiție resursă, recompilați resursele și adăugați resursele recompilat aplicației fi?ierul executabil. A doua metodă este să copiați datele resursă direct în fișier executabil aplicației.

De exemplu, să localizeze o cerere de limba engleză pentru utilizarea în Norvegia, poate fi necesar să se înlocuiască caseta de dialog Română cu unul folosind norvegiană. Un dezvoltator creează o casetă de dialog corespunzătoare utilizând un editor de caseta de dialog sau scris un șablon în fișierul definiție resursă. Dezvoltator recompiles resursele apoi adaugă resursele nou aplicației fi?ierul executabil.

Dacă o casetă de dialog corespunzătoare nu există în formă binară, cu toate acestea, dezvoltatorul poate copia datele direct în fișierul executabil fiind localizate utilizând trei Win32 funcții. Funcția BeginUpdateResource creează un mâner de actualizare pentru fișierul executabil ale căror resurse sunt să fie schimbat. Funcția de UpdateResource utilizează acest mâner pentru a adăuga, șterge sau înlocui o resursă în fișierul executabil. Funcția EndUpdateResource închide ghidajul.

După ce un mâner de actualizare la un fișier executabil este creat de BeginUpdateResource, o cerere poate utiliza UpdateResource în mod repetat pentru a face modificări datelor de resurse. Fiecare apel la UpdateResource contribuie la o listă internă de adăugările, ștergerile și înlocuiri dar nu de fapt scrie datele către fi?ierul executabil. Imediat înainte de închiderea ghidajul de actualizare, EndUpdateResource scrie modificările acumulate la fișierul executabil.

Uneori, cererea trebuie să copiați resurse sau găsi resurse dimensiuni. LoadLibrary funcție oferă un mâner modulul într-un fișier executabil ale căror resurse sunt să fie copiate, și funcția de LockResource oferă un pointer la datele de resurse în modul specificat. SizeofResource funcția întoarce dimensiunea, în octeți, de o resursa specificată.

Index