Hinzufügen, Löschen und Ersetzen von Ressourcen
Anwendungen müssen häufig Ressourcen in ausführbaren Dateien hinzufügen, löschen oder ersetzen. Für diese Aufgaben können zwei Methoden verwendet werden. Die erste besteht darin, die Ressourcendefinitionsdatei zu bearbeiten, die Ressourcen neu zu kompilieren und die neu kompilierten Ressourcen der ausführbaren Datei der Anwendung hinzuzufügen. Die zweite Methode besteht darin, die Ressourcendaten direkt in die ausführbare Datei der Anwendung zu kopieren.
Um beispielsweise eine englischsprachige Anwendung für die Verwendung in Norwegen zu lokalisieren, kann es erforderlich sein, das Dialogfeld Englisch durch eins zu ersetzen, das Norwegisch verwendet. Ein Entwickler erstellt ein geeignetes Dialogfeld, indem er einen Dialogfeld-Editor verwendet oder eine Vorlage in die Ressourcendefinitionsdatei schreibt. Der Entwickler kompiliert dann die Ressourcen neu und fügt die neuen Ressourcen der ausführbaren Datei der Anwendung hinzu.
Wenn jedoch ein geeignetes Dialogfeld in binärer Form vorhanden ist, kann der Entwickler die Daten mithilfe der folgenden Funktionen direkt in die ausführbare Datei kopieren, die lokalisiert wird. Die BeginUpdateResource-Funktion erstellt ein Updatehandle für die ausführbare Datei, deren Ressourcen geändert werden sollen. Die UpdateResource-Funktion verwendet dieses Handle, um eine Ressource in der ausführbaren Datei hinzuzufügen, zu löschen oder zu ersetzen. Die EndUpdateResource-Funktion schließt das Handle.
Nachdem ein Updatehandle für eine ausführbare Datei von BeginUpdateResource erstellt wurde, kann eine Anwendung UpdateResource wiederholt verwenden, um Änderungen an den Ressourcendaten vorzunehmen. Jeder Aufruf von UpdateResource trägt zu einer internen Liste von Ergänzungen, Löschungen und Ersetzungen bei, schreibt die Daten jedoch nicht tatsächlich in die ausführbare Datei. Unmittelbar vor dem Schließen des Updatehandles schreibt EndUpdateResource die akkumulierten Änderungen in die ausführbare Datei.
Manchmal muss eine Anwendung Ressourcen aus einer anderen Datei kopieren. Aktualisieren von Ressourcen zeigt ein Beispiel für das Abrufen der Ressourcendaten und ihrer Größe aus einer Datei.