FindResource

הפונקציה FindResource קובע את המיקום של משאב עם הסוג שצוין ושם במודול שצוין.

(HRSRC FindResource HMODULE  hModule, / / מודול לטפלLPCTSTRlpName, / / מצביע על שם משאבLPCTSTRlpType / / סוג מצביע משאב);
 

פרמטרים

hModule
לטפל למודול קובץ ההפעלה שלה מכיל את המשאב.

ערך של NULL מציין את נקודת האחיזה של המודול המשויך לקובץ תמונת מערכת ההפעלה בו ליצירת התהליך הנוכחי.

lpName
מציין את שם המשאב. לקבלת מידע נוסף, עיין בסעיף הערות.
lpType
מציין את סוג המשאב. לקבלת מידע נוסף, עיין בסעיף הערות. עבור סוגי משאבים סטנדרטיים, פרמטר זה יכול להיות אחד מהבאים:
ערך משמעות
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 .

QuickInfo

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

Index