Legge til, slette og erstatte ressurser

Programmer må ofte legge til, slette eller erstatte ressurser i kjørbare filer. To metoder kan brukes til å utføre disse oppgavene. Først er å redigere ressurs-definisjonsfilen, rekompilere ressursene og legge til ressurser som er Rekompilerte i programmets kjørbare fil. Den andre metoden er å kopiere ressursdata direkte til programmets kjørbare fil.

For eksempel, for å lokalisere et engelsk program for bruk i Norge, det kan være nødvendig å erstatte engelsk dialogboksen med en bruker norsk. En utvikler oppretter et passende dialogboksen ved hjelp av en dialogredigering-boksen eller ved å skrive en mal i ressurs-definisjonsfilen. Utvikleren deretter recompiles ressursene og legger til nye ressurser i programmets kjørbare fil.

Hvis en passende dialogboksen finnes i binær form, men kan utvikleren kopiere dataene direkte til den kjørbare filen er lokalisert ved hjelp av tre Win32-funksjoner. BeginUpdateResource -funksjonen oppretter en oppdatering håndtaket for den kjørbare filen som har ressursene skal endres. UpdateResource -funksjonen bruker denne referansen til å legge til, slette eller erstatte en ressurs i den kjørbare filen. Funksjonen EndUpdateResource lukker håndtaket.

Når en oppdatering-håndtak til en kjørbar fil som er opprettet av BeginUpdateResource, kan et program bruke UpdateResource flere ganger gjør endringer i ressursdataene for. Hvert kall til UpdateResource bidrar til en intern liste over tillegg, slettinger og erstatninger, men faktisk skriver ikke data til den kjørbare filen. Umiddelbart før du lukker oppdateringen håndtaket, skriver EndUpdateResource akkumulerte endringene til den kjørbare filen.

Noen ganger, må et program kopiere ressurser eller finne ressurs størrelser. Den LoadLibrary -funksjonen gir en modulreferanse til en kjørbar fil som inneholder ressursene er som skal kopieres, og funksjonen LockResource gir en peker til ressursdata i angitt modul. Funksjonen SizeofResource returnerer størrelsen, i byte, på en angitt ressurs.

Index