הדוגמה הבאה העתקת משאב תיבת הדו-שיח מתוך קובץ הפעלה אחת, יד.EXE, אחרת, כף הרגל.EXE, על-ידי ביצוע הפעולות הבאות:
הקוד הבא מיישם את הפעולות הבאות:.
HRSRC hResLoad; / / לטפל כדי לטעון משאב אחיזה hExe; / / לטפל קיימים.קובץ EXE HRSRC hRes; / / נקודת האחיזה/ptr. ל במיל. info. ב- 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 ("ואינם יכולים לשחרר קובץ הפעלה.");
}