Dodawanie, usuwanie i zastępowanie zasobów

Aplikacje często trzeba dodać, usunąć lub zastąpić zasobów plików wykonywalnych. Dwie metody może służyć do wykonywania tych zadań. Pierwszym jest edytować plik definicji zasobów, zasoby należy ponownie skompilować i dodać ponownej kompilacji zasobów do pliku wykonywalnego aplikacji. Druga metoda jest kopiowanie danych zasobów bezpośrednio do pliku wykonywalnego aplikacji.

Na przykład aby zlokalizować aplikacji języka angielskiego do użytku w Norwegii, może być konieczne zastąpić jedno okno dialogowe angielski przy użyciu norweski. Projektant tworzy odpowiednie okno dialogowe, za pomocą edytora pole dialogowe lub zapisywania szablonu w pliku definicji zasobów. Autora następnie ponownie skompilował zasobów i dodaje nowe zasoby do pliku wykonywalnego aplikacji.

Jeśli odpowiednie okno dialogowe występuje w postaci binarnej, jednak autora można skopiować dane bezpośrednio do pliku wykonywalnego są lokalizowane za pomocą trzech funkcji Win32. Funkcja BeginUpdateResource tworzy dojście aktualizacji dla pliku wykonywalnego, którego zasoby mają zostać zmienione. Funkcja UpdateResource używa ten uchwyt, aby dodać, usunąć lub zastąpić zasób w pliku wykonywalnego. Funkcja EndUpdateResource zamyka uchwyt.

Po aktualizacji dojście do pliku wykonywalnego został stworzony przez BeginUpdateResource, aplikacja służy UpdateResource wielokrotnie dokonywanie zmian w danych zasobów. Każde wywołanie UpdateResource przyczynia się do wewnętrznej listy uzupełnień, usunięć i zamiany, ale nie faktycznie zapisać dane do pliku wykonywalnego. Niezwłocznie przed zamknięciem dojścia aktualizacji, EndUpdateResource zapisuje zmiany zakumulowanego do pliku wykonywalnego.

Czasami aplikacja musi skopiować zasoby lub znaleźć zasobu rozmiarów. Funkcja LoadLibrary zapewnia dojścia modułu w pliku wykonywalnym, którego zasoby mają zostać skopiowane, a funkcja LockResource zawiera wskaźnik do danych zasobów określonego modułu. Funkcja SizeofResource zwraca rozmiar, w bajtach, określonego zasobu.

Index