Hinzufügen, löschen und Ersetzen von Ressourcen

Anwendungen müssen häufig hinzufügen, löschen oder Ersetzen von Ressourcen in ausführbaren Dateien. Zwei Methoden können verwendet werden, um diese Aufgaben zu erfüllen. Die erste ist die Ressource-Datei, bearbeiten, neu kompilieren der Ressourcen und ausführbare Datei der Anwendung die kompilierten Ressourcen hinzufügen. Die zweite Methode ist die Ressourcendaten direkt in der ausführbaren Datei der Anwendung kopieren.

Z. B. um eine englischsprachige Anwendung für den Einsatz in Norwegen zu lokalisieren, es möglicherweise erforderlich, das englische Dialogfeld Ersetzen mit Norwegisch. Ein Entwickler erstellt ein entsprechendes Dialogfenster mithilfe einen Dialogfeld-Editor oder durch Schreiben einer Vorlage in die Ressource-Datei. Der Entwickler dann neu kompiliert die Ressourcen und fügt die neuen Ressourcen zu der ausführbaren Datei der Anwendung.

Wenn ein entsprechendes Dialogfenster in binärer Form vorhanden ist, jedoch kann der Entwickler die Daten direkt an die ausführbare Datei wird mithilfe von drei Win32-Funktionen lokalisiert kopieren. Die BeginUpdateResource -Funktion erstellt einen Update-Handle für die ausführbare Datei, deren Ressourcen geändert werden. Die UpdateResource -Funktion verwendet dieses Handle zum Hinzufügen, löschen oder Ersetzen einer Ressource in der ausführbaren Datei. Die EndUpdateResource -Funktion schließt das handle.

Nachdem ein Update-Handle zu einer ausführbaren Datei von BeginUpdateResourceerstellt wird, kann eine Anwendung UpdateResource wiederholt mit dem verwenden, die Daten zu ändern. Jeder Aufruf von UpdateResource trägt zu einer internen Liste von Hinzufügungen, Löschungen und Ersetzungen aber schreibt nicht tatsächlich Daten in die ausführbare Datei. Unmittelbar vor dem Schließen des Update-Handles, schreibt EndUpdateResource die aufgelaufenen Änderungen zu der ausführbaren Datei.

Manchmal muss eine Anwendung Ressourcen kopieren oder Ressource Größen zu finden. Die LoadLibrary -Funktion stellt ein Modulhandle für eine ausführbare Datei, deren Ressourcen kopiert werden sollen, und die LockResource -Funktion stellt einen Zeiger auf die Daten im angegebenen Modul. Die SizeofResource -Funktion gibt die Größe in Bytes, der eine angegebene Ressource.

Index