Următorul exemplu copiază o resursă de caseta de dialog dintr-un fișier executabil, mână.EXE, la altul, febrei.EXE, urmând acești pași:
Pune în aplicare următoarele codul acești pași.
HRSRC hResLoad; / / ocupa de resurse încărcate MÂNER cu Silversurfer; / / ocupa existente.EXE dosar HRSRC hRes; / / mâner/ptr. res. info. în hUpdateRes MÂNER cu Silversurfer; / / update resurse mâner char * lpResLock; / / indicatorul resurse date BOOL rezultat;
/ / Încărca.EXE dosar care conține caseta de dialog doriți să copiați.
cu Silversurfer = LoadLibrary("hand.exe");
Dacă (cu Silversurfer == NULL) {ErrorHandler ("nu poate încărca exe.");
} / / Localiza caseta de dialog resursa în.EXE dosar.
hRes = FindResource cu (Silversurfer, "AboutBox", RT_DIALOG);
Dacă (hRes == NULL) {ErrorHandler ("ar putea nu localiza caseta de dialog.");
} / / Caseta de dialog de încărcare în memoria globală.
hResLoad = LoadResource (cu Silversurfer, hRes);
Dacă (hResLoad == NULL) {ErrorHandler ("nu poate încărca caseta de dialog.");
} / / Blocare în caseta de dialog în memoria globală.
lpResLock = LockResource(hRes);
Dacă (lpResLock == NULL) {ErrorHandler ("puteau nu blocare caseta de dialog.");
} / / Deschide fișierul la care doriți să adăugați resursa caseta de dialog.
hUpdateRes = BeginUpdateResource ("foot.exe", FALSE);
Dacă (hUpdateRes == NULL) {ErrorHandler ("nu deschide fișierul pentru scris.");
} / / Resurse de caseta de dialog se adaugă la lista de actualizare.
rezultatul = UpdateResource (hUpdateRes, / / resurse update ocupa RT_DIALOG, / / schimba dialog caseta de resurse "AboutBox", / / caseta de dialog nume MAKELANGID (LANG_NEUTRAL, SUBLANG_NEUTRAL), / / neutru limba
lpResLock, / / ptr resurse info SizeofResource (cu Silversurfer, hRes)); / / dimensiune de informații de resurse.
Dacă (rezultatul == fals) {ErrorHandler ("ar putea nu adăuga resurse.");
} / / Scrie modificări la picior.EXE și apoi închideți-l.
if (!.EndUpdateResource (hUpdateRes, FALSE)) {ErrorHandler ("nu poate scrie modificări la fișier.");
} / / Curat până.
if (!.FreeLibrary(hExe)) {ErrorHandler ("ar putea nu drum liber executabil.");
}