W następującym przykładzie skopiowano zasobu pole dialogowe z jednego pliku wykonywalnego, ręcznie.EXE, do innego, FOOT.EXE, wykonaj następujące kroki:
Poniższy kod wykonuje następujące czynności.
HRSRC hResLoad; / / dojście do zasobu załadowany uchwyt hExe; / / dojście do istniejących.Plik EXE HRSRC parametrem typu HRESULT; / / uchwyt/ptr. do zasobu informacji. w hExe uchwyt hUpdateRes; / aktualizacji zasobu uchwyt char * lpResLock; / / wskaźnik wyniku BOOL danych zasobów;
/ / Wczytaj.Plik EXE, który zawiera okno dialogowe, które chcesz skopiować.
hExe = LoadLibrary("hand.exe");
Jeżeli (hExe == NULL) {ObsługaBłędu ("nie można załadować exe.");
} / / Odszukaj pole dialogowe zasobu.Plik EXE.
parametrem typu HRESULT = FindResource (hExe, "AboutBox", RT_DIALOG);
Jeżeli (parametrem typu HRESULT == NULL) {ObsługaBłędu ("nie może zlokalizować okno dialogowe.");
} / / Załadować okna dialogowego do globalnej pamięci.
hResLoad = LoadResource (hExe, parametrem typu HRESULT);
Jeżeli (hResLoad == NULL) {ObsługaBłędu ("nie można załadować okno dialogowe.");
} / / Zablokować okna dialogowego w globalnej pamięci.
lpResLock = LockResource(hRes);
Jeżeli (lpResLock == NULL) {ObsługaBłędu ("może nie okno dialogowe Zablokuj.");
} / / Otwórz plik, do którego chcesz dodać zasób pole dialogowe.
hUpdateRes = BeginUpdateResource ("foot.exe", FALSE);
Jeżeli (hUpdateRes == NULL) {ObsługaBłędu ("nie można otworzyć pliku w celu zapisu.");
} / / Add zasobu pole dialogowe z listą aktualizacji.
wynik = UpdateResource (hUpdateRes, / / zasobu aktualizacja obsługuje RT_DIALOG, / / Zmień okno dialogowe pole zasobu "AboutBox", / / okno dialogowe Nazwa MAKELANGID (LANG_NEUTRAL, SUBLANG_NEUTRAL), / / neutralne języka
lpResLock, / / ptr do zasobu informacji o SizeofResource (hExe, parametrem typu HRESULT)); / / rozmiar informacje o zasobie.
Jeżeli (wynik == FALSE) {ObsługaBłędu ("nie można dodać zasobu.");
} / / Zapisanie zmian stopy.EXE i zamknij go.
if (!.EndUpdateResource (hUpdateRes, FALSE)) {ObsługaBłędu ("nie można zapisać zmiany w pliku.");
} / / Oczyszczanie.
if (!.FreeLibrary(hExe)) {ObsługaBłędu ("nie może zwolnić pliku wykonywalnego.");
}