В следующем примере копируется ресурс диалогового окна поля из одного исполняемого файла, рук.EXE, в другой, ноги.EXE, выполнив следующие шаги:
Следующий код реализует эти шаги.
HRSRC hResLoad; / / обработать Загружаемый ресурс ДЕСКРИПТОРА hExe; / / обработать к существующим.EXE-файл HRSRC hRes; / / ручки/ptr. к res. информация. в hExe обработки hUpdateRes; / / Обновление ресурсов дескриптор типа char * lpResLock; / / указатель ресурса данных BOOL результат;
/ / Загрузить.EXE-файл, который содержит диалоговое окно "", которые вы хотите скопировать.
hExe = LoadLibrary("hand.exe");
Если (hExe == NULL) {ErrorHandler ("не удалось загрузить exe.");
} / / Найдите ресурс поле диалогового окна в.EXE-файл.
hRes = FindResource (hExe, «AboutBox», RT_DIALOG);
Если (hRes == NULL) {ErrorHandler ("не удалось найти диалоговое окно"".");
} / / Загрузить диалогового окна в глобальной памяти.
hResLoad = LoadResource (hExe, hRes);
Если (hResLoad == NULL) {ErrorHandler ("не удалось загрузить диалоговое окно"".");
} / / Заблокировать диалогового окна в глобальной памяти.
lpResLock = LockResource(hRes);
Если (lpResLock == NULL) {ErrorHandler ("может не блокировки диалоговое.");
} / / Открыть файл, к которому требуется добавить ресурс диалогового окна поле.
hUpdateRes = BeginUpdateResource ("foot.exe", FALSE);
Если (hUpdateRes == NULL) {ErrorHandler ("не удалось открыть файл для записи.");
} / / Добавить ресурс поле диалогового окна в список обновлений.
результат = UpdateResource (hUpdateRes, / / обновление ресурсов обработать RT_DIALOG, / / изменить ресурс диалогового окна окно «AboutBox», / / диалоговое окно имя MAKELANGID (LANG_NEUTRAL, SUBLANG_NEUTRAL) / / нейтральный язык
lpResLock, / / ptr для ресурсов информация о SizeofResource (hExe, hRes)); / / Размер ресурсов информация.
Если (результат == FALSE) {ErrorHandler ("не удалось добавить ресурс.");
} / / Записывать изменения в ногу.EXE и затем закройте его.
Если (!.EndUpdateResource (hUpdateRes, FALSE)) {ErrorHandler ("не удалось записать изменения в файл.");
} / / Очистке.
Если (!.FreeLibrary(hExe)) {ErrorHandler ("может не свободный исполняемый.");
}