Toevoegen, verwijderen en vervangen van Resources

Toepassingen moeten vaak toevoegen, verwijderen of vervanging van resources in uitvoerbare bestanden. Twee methoden kunnen worden gebruikt om deze taken. De eerste is het bewerken van de resource-definitie bestand opnieuw compileren van de bronnen en de gecompileerd resources toevoegen aan het uitvoerbare bestand van de toepassing. De tweede methode is de resourcegegevens kopiŽren rechtstreeks naar het uitvoerbare bestand van de toepassing.

Bijvoorbeeld, te lokaliseren een Engels-talige toepassing voor gebruik in Noorwegen, kan het nodig zijn om de Engelse dialoogvenster vervangen door een Noors gebruiken. Met behulp van een dialoogvenster vak editor of door het schrijven van een sjabloon in de resource-definitie bestand, maakt een ontwikkelaar een passende dialoogvenster. De ontwikkelaar dan gecompileerd de middelen en de nieuwe resources toegevoegd aan het uitvoerbare bestand van de toepassing.

Als een passende dialoogvenster in binaire vorm bestaat, kan de ontwikkelaar gegevens echter kopiŽren de rechtstreeks naar het uitvoerbare bestand worden gelokaliseerd met behulp van drie Win32 functies. De BeginUpdateResource functie maakt een update handvat voor het uitvoerbare bestand waarvan middelen zijn om te worden gewijzigd. De functie UpdateResource gebruikt dit handvat toevoegen, verwijderen of vervangen van een resource in het uitvoerbare bestand. De functie EndUpdateResource sluit de greep.

Nadat een update handvat naar een uitvoerbaar bestand is gemaakt door BeginUpdateResource, een toepassing kan gebruiken UpdateResource herhaaldelijk om de resourcegegevens te wijzigen. Elke aanroep van UpdateResource draagt bij aan een interne lijst van toevoegingen, verwijderingen en vervangingen maar schrijft niet eigenlijk de gegevens naar het uitvoerbare bestand. Onmiddellijk alvorens te sluiten de update greep, schrijft EndUpdateResource de geaccumuleerde wijzigingen naar het uitvoerbare bestand.

Soms moet een toepassing bronnen kopiŽren of resource maten. De LoadLibrary -functie biedt een module handvat naar een uitvoerbaar bestand waarvan middelen zijn om te worden gekopieerd, en de LockResource functie geeft een pointer naar de resourcegegevens in de opgegeven module. De functie SizeofResource retourneert de grootte, in bytes, van een opgegeven resource.

Index