Condividi tramite


Aggiunta, eliminazione e sostituzione delle risorse

Le applicazioni devono spesso aggiungere, eliminare o sostituire le risorse nei file eseguibili. Per eseguire queste attività è possibile usare due metodi. Il primo consiste nel modificare il file di definizione delle risorse, ricompilare le risorse e aggiungere le risorse ricompilate al file eseguibile dell'applicazione. Il secondo metodo consiste nel copiare i dati delle risorse direttamente nel file eseguibile dell'applicazione.

Ad esempio, per localizzare un'applicazione in lingua inglese per l'uso in Norvegia, potrebbe essere necessario sostituire la finestra di dialogo inglese con quella con norvegese. Uno sviluppatore crea una finestra di dialogo appropriata usando un editor di finestre di dialogo o scrivendo un modello nel file di definizione della risorsa. Lo sviluppatore ricompila quindi le risorse e aggiunge le nuove risorse al file eseguibile dell'applicazione.

Se esiste una finestra di dialogo appropriata in formato binario, tuttavia, lo sviluppatore può copiare i dati direttamente nel file eseguibile localizzato usando le funzioni seguenti. La funzione BeginUpdateResource crea un handle di aggiornamento per il file eseguibile le cui risorse devono essere modificate. La funzione UpdateResource usa questo handle per aggiungere, eliminare o sostituire una risorsa nel file eseguibile. La funzione EndUpdateResource chiude l'handle.

Dopo la creazione di un handle di aggiornamento in un file eseguibile da BeginUpdateResource, un'applicazione può usare ripetutamente UpdateResource per apportare modifiche ai dati delle risorse. Ogni chiamata a UpdateResource contribuisce a un elenco interno di aggiunte, eliminazioni e sostituzioni, ma non scrive effettivamente i dati nel file eseguibile. Immediatamente prima di chiudere l'handle di aggiornamento, EndUpdateResource scrive le modifiche accumulate nel file eseguibile.

In alcuni casi, un'applicazione deve copiare le risorse da un altro file. L'aggiornamento delle risorse mostra un esempio di recupero dei dati delle risorse e delle relative dimensioni da un file.