הפונקציה FindResource קובע את המיקום של משאב עם הסוג שצוין ושם במודול שצוין.
(HRSRC FindResource HMODULE hModule, / / מודול לטפלLPCTSTRlpName, / / מצביע על שם משאבLPCTSTRlpType / / סוג מצביע משאב);
ערך של NULL מציין את נקודת האחיזה של המודול המשויך לקובץ תמונת מערכת ההפעלה בו ליצירת התהליך הנוכחי.
ערך | משמעות |
---|---|
RT_ACCELERATOR | טבלת מאיצים |
RT_ANICURSOR | סמן מונפש |
RT_ANIICON | הסמל המונפש |
RT_BITMAP | משאב מפת סיביות |
RT_CURSOR | משאב הסמן תלוי-חומרה |
RT_DIALOG | תיבת הדו-שיח |
RT_FONT | משאב גופן |
RT_FONTDIR | משאב ספריה של גופן |
RT_GROUP_CURSOR | משאב הסמן שאינה תלויה בחומרה |
RT_GROUP_ICON | משאב סמל שאינה תלויה בחומרה |
RT_HTML | מסמך HTML |
RT_ICON | משאב סמל תלוי-חומרה |
RT_MENU | תפריט משאב |
RT_MESSAGETABLE | ערך של טבלת ההודעות |
RT_RCDATA | משאב מוגדר על-ידי יישום (הנתונים הגולמיים) |
RT_STRING | ערך טבלת מחרוזות |
RT_VERSION | גירסה משאב |
אם הפונקציה מצליחה, הערך המוחזר הוא נקודת אחיזה לבלוק פרטי של המשאב שצוין. כדי להשיג מזהה ייחודי למשאב, להעביר נקודת אחיזה זו לפונקציה LoadResource.
אם הפעולה תיכשל, הערך המוחזר הוא NULL. כדי לקבל מידע שגיאות מורחב, לקרוא GetLastError.
אם המילה הגבוהות של הפרמטר lpName או lpType הוא אפס, המילה נמוכה-סדר מציין את המזהה השלם של שם או סוג משאב נתון. אחרת, פרמטרים אלה הם מצביעים ארוך למחרוזות המסתיימת ב- null. אם התו הראשון של המחרוזת הוא סימן סולמית (#), התווים הנותרים לייצג מספר עשרוני המציין את המזהה השלם של השם או הסוג של המשאב. לדוגמה, המחרוזת "# 258" מייצג את המזהה השלם 258.
יישום שאמור להפחית את כמות הזיכרון הנדרש עבור המשאבים על-ידי פנייה אליהם באמצעות המזהה השלם במקום לפי שם.
כאשר תסיים להשתמש בטבלה מאיץ, מפת סיביות, הסמן, סמל, או תפריט, באפשרותך לשחרר זיכרון משויכים שלו על-ידי קריאה אחת מפונקציות בטבלה הבאה.
משאב | לשחרר את הפונקציה |
---|---|
טבלת מאיצים | DestroyAcceleratorTable |
מפת סיביות | DeleteObject |
הסמן | DestroyCursor |
סמל | DestroyIcon |
תפריט | DestroyMenu |
המערכת תמחק באופן אוטומטי משאבים אלה כאשר התהליך שיצר אותם מסתיים, עם זאת, קורא את הפונקציה המתאימה חוסכת זיכרון ו הקטנת הגודל של ערכת העבודה של תהליך.
ליישום יש אפשרות להשתמש FindResource כדי לחפש כל סוג של משאבים, אך יש להשתמש בפונקציה זו רק אם היישום חייב לגשת לנתוני משאב בינארי בעת ביצוע התקשרויות עוקבות כדי LoadLibrary ו- LockResource.
כדי להשתמש במשאב באופן מיידי, יישום עליך להשתמש באחת מהפונקציות ספציפי למשאב הבא כדי לחפש ולטעון את המשאבים בקריאה אחת:
פונקציה | פעולה |
---|---|
FormatMessage | טוען ומעצב ערך ההודעה-טבלה. |
LoadAccelerators | טעינת טבלת מאיצים. |
LoadBitmap | טעינת משאב מפת סיביות. |
LoadCursor | טעינת משאב הסמן. |
LoadIcon | טעינה של משאב סמל. |
LoadMenu | טעינת משאב תפריט. |
LoadString | טוען ערך טבלת מחרוזות. |
לדוגמה, יישום להשתמש בפונקציה LoadIcon כדי לטעון סמל עבור התצוגה על המסך. עם זאת, היישום עליך להשתמש FindResource ו- LoadResource אם הוא טוען על סמל כדי להעתיק את הנתונים ליישום אחר.
משאבי המחרוזת מאוחסנים במקטעים של עד 16 מחרוזות עבור כל מקטע. המחרוזות בכל מקטע מאוחסנים כרצף של מחרוזות Unicode שנספרו (לא המסתיימת ב- null). הפונקציה LoadString לחלץ משאב מחרוזת מתוך המקטע התואם שלו.
חלונות CE: הפרמטר hModule אינו יכול להיות נקודת אחיזה NULL.
הפרמטר lpName אינו תומך את מזהה המשאב אפס — כלומר, FindResource (h, 0, t) לא יפעלו כצפוי.
אין אפשרות להעביר את הערכים RT_ANICURSOR או RT_ANIICON בפרמטר lpType .
nbsp; Windows &NT: מחייב גירסה 3.1 או גירסה מתקדמת יותר.
Windows:נדרש Windows 95 או גירסה מתקדמת יותר.
חלונות CE:דורש גירסה 1.0 ואילך.
כותרת עליונה:להצהיר על winbase.h.
ייבוא ספריית:השתמש kernel32.lib.
Unicode:מיושם על גירסאות Unicode ו- ANSI ב- Windows ו- Windows NT.
מבט כולל על משאבים, המשאב מתפקד, FindResourceEx, FormatMessage, LoadAccelerators, LoadBitmap, LoadCursor, LoadIcon, LoadMenu, LoadResource, LoadString, LockResource, SizeofResource