ฟังก์ชันFindResourceExกำหนดตำแหน่งที่ตั้งของทรัพยากร ด้วยการระบุชนิด ชื่อ และภาษาในโมดูลที่ระบุ.
(HRSRC FindResourceEx HMODULE hModule, / / จัดการทรัพยากรโมดูลLPCTSTRlpType, / / พิมพ์ตัวชี้ไปยังทรัพยากรLPCTSTRlpName, / / ชี้ไปที่ชื่อของทรัพยากรWORDwLanguage / / ทรัพยากรภาษา )
| ค่า | ความหมาย |
|---|---|
| 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 | รุ่นของทรัพยากร |
เมื่อต้องการระบุเป็นภาษาอื่นที่ไม่ใช่ภาษาปัจจุบัน ใช้แมโคMAKELANGIDเพื่อสร้างพารามิเตอร์นี้ ดูข้อมูลเพิ่มเติม MAKELANGID.
ถ้าฟังก์ชันสำเร็จ ค่าส่งกลับเป็นตัวจัดการกับทรัพยากรที่ระบุข้อมูลบล็อก เพื่อขอรับตัวจัดการทรัพยากร ผ่านหมายเลขอ้างอิงนี้ไปยังฟังก์ชันLoadResource.
ถ้าฟังก์ชันล้มเหลว ส่งคืนค่าเป็น NULL การขอเพิ่มเติมข้อมูลข้อผิดพลาด โทร GetLastError.
ถ้าสูงคำของพารามิเตอร์lpTypeหรือlpNameเป็นศูนย์ ต่ำคำระบุตัวระบุจำนวนเต็มของชนิดหรือชื่อของทรัพยากรที่ระบุ มิฉะนั้น พารามิเตอร์เหล่านี้เป็นตัวชี้การสิ้นสุดด้วย null สาย ถ้าอักขระแรกของสตริงที่เป็นเครื่องหมายปอนด์ (#), อักขระที่เหลือแสดงตัวเลขทศนิยมที่ระบุตัวระบุจำนวนเต็มของชื่อหรือชนิดของทรัพยากร ตัวอย่าง "# 258" สายอักขระการแทนตัวระบุจำนวนเต็ม 258.
แอปพลิเคชันควรลดจำนวนหน่วยความจำที่จำเป็นสำหรับทรัพยากร โดยอ้างอิงเหล่านั้นโดยการระบุจำนวนเต็มแทนตามชื่อ.
เมื่อเสร็จสิ้นการใช้ตารางการเร่งความเร็ว บิตแมป เคอร์เซอร์ ไอคอน หรือเมนู คุณสามารถปล่อยของหน่วยความจำที่เกี่ยวข้อง โดยการเรียกฟังก์ชันหนึ่งในตารางต่อไปนี้.
| ทรัพยากร | ฟังก์ชันของรุ่น |
|---|---|
| ตารางการเร่งความเร็ว | DestroyAcceleratorTable |
| บิตแมป | DeleteObject |
| เคอร์เซอร์ | DestroyCursor |
| ไอคอน | DestroyIcon |
| เมนู | DestroyMenu |
ระบบลบทรัพยากรเหล่านี้โดยอัตโนมัติเมื่อกระบวนการที่สร้างขึ้นดังกล่าวสิ้นสุดลง อย่างไรก็ตาม เรียกฟังก์ชันเหมาะสมช่วยประหยัดหน่วยความจำ และเป็นลดขนาดของชุดการทำงานของกระบวนการ.
โปรแกรมประยุกต์ที่สามารถใช้FindResourceExในการค้นหาชนิดของทรัพยากรใด ๆ แต่ควรจะใช้ฟังก์ชันนี้เท่านั้นถ้าโปรแกรมประยุกต์ต้องเข้าถึงข้อมูลทรัพยากรไบนารีเมื่อทำการต่อมาเรียกไป ฟังก์ชันระบุว่า LoadLibraryและLockResource.
การใช้ทรัพยากร ทันที แอปพลิเคชันควรใช้ฟังก์ชันเฉพาะทรัพยากรต่อไปนี้เพื่อค้นหา และโหลดทรัพยากรในการเรียกเพียงหนึ่งครั้ง:
| ฟังก์ชัน | กระทำ |
|---|---|
| FormatMessage | โหลด และรูปแบบการป้อนข้อมูลลงในตารางข้อความ. |
| LoadAccelerators | โหลดตารางการเร่งความเร็ว. |
| LoadBitmap | โหลดบิตแมปทรัพยากร. |
| LoadCursor | โหลดทรัพยากรที่เคอร์เซอร์. |
| LoadIcon | โหลดทรัพยากรไอคอน. |
| LoadMenu | โหลดทรัพยากรที่เมนู. |
| LoadString | โหลดการป้อนข้อมูลลงในตารางสตริ. |
ตัวอย่าง แอปพลิเคชันสามารถใช้ฟังก์ชันLoadIconเพื่อโหลดไอคอนสำหรับการแสดงผลบนหน้าจอ อย่างไรก็ตาม แอพลิเคชันควรใช้FindResourceExและLoadResourceถ้ามันจะโหลดไอคอนเพื่อคัดลอกข้อมูลไปยังโปรแกรมประยุกต์อื่น.
สายทรัพยากรจะถูกเก็บไว้ในส่วนของสายอักขระที่ 16 แต่ละส่วน สายอักขระในแต่ละส่วนจะถูกเก็บไว้เป็นลำดับของสายนับ(สิ้นสุดไม่เป็น null ด้วย) อักขระ Unicode LoadStringฟังก์ชันจะแยกสายทรัพยากรจากส่วนสอดคล้องกัน.
nbsp Windows &NT:ต้องการเวอร์ชัน 3.1 หรือรุ่นที่ใหม่กว่า
Windows:ต้องใช้ Windows 95 หรือรุ่นที่ใหม่กว่า
Windows CE:ไม่สนับสนุน
หัวข้อ:ประกาศใน winbase.h
ไลบรารีที่นำเข้า:ใช้ kernel32.lib
Unicode:นำมาใช้เป็น Unicode และ ANSI รุ่นบน Windows และ Windows NT.
ภาพรวมของทรัพยากรฟังก์ชันทรัพยากร FormatMessage, LoadAccelerators, LoadBitmap, LoadCursor, LoadIcon, LoadMenu, LoadString, LoadResource, MAKELANGID