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 แต่ละส่วน สายอักขระในแต่ละส่วนจะถูกเก็บไว้เป็นลำดับของสายนับ(สิ้นสุดไม่เป็น null ด้วย) อักขระ Unicode LoadStringฟังก์ชันจะแยกสายทรัพยากรจากส่วนสอดคล้องกัน.

Windows CE: พารามิเตอร์hModuleไม่สามารถใช้ตัวจัดการค่า NULL.

พารามิเตอร์lpNameไม่สนับสนุน ID ทรัพยากรศูนย์ — นั่นคือFindResource (h, 0, t)จะไม่ทำงานตามที่คาดไว้.

คุณไม่สามารถส่งค่า RT_ANICURSOR หรือ RT_ANIICON ในพารามิเตอร์lpType .

QuickInfo

nbsp Windows &NT:ต้องการเวอร์ชัน 3.1 หรือรุ่นที่ใหม่กว่า
Windows:ต้องใช้ Windows 95 หรือรุ่นที่ใหม่กว่า
Windows 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