FindResource

Funkcja FindResource określa lokalizację zasobu określony typ i nazwę określonego modułu.

(HRSRC FindResource HMODULE  hModule, / / moduł obsługiLPCTSTRlpName, / / wskaźnik nazwa zasobuLPCTSTRlpType / / wskaźnik do zasobu wpisz);
 

Parametry

hModule
Dojście do modułu, którego plik wykonywalny zawiera zasób.

Wartość NULL określa dojścia modułu skojarzony plik obrazu, który system operacyjny użyty do utworzenia bieżącego procesu.

lpName
Określa nazwę zasobu. Aby uzyskać więcej informacji zobacz sekcję Spostrzeżenia.
lpType
Określa typ zasobu. Aby uzyskać więcej informacji zobacz sekcję Spostrzeżenia. Dla typów zasobów standardowe ten parametr może być jedna z następujących wartości:
Wartość Znaczenie
RT_ACCELERATOR Akcelerator tabeli
RT_ANICURSOR Animowanych kursorów
RT_ANIICON Animowana ikona
RT_BITMAP Mapa bitowa zasobów
RT_CURSOR Zależne od sprzętu kursor zasobów
RT_DIALOG Okno dialogowe
RT_FONT Zasób czcionki
RT_FONTDIR Zasób katalogu czcionki
RT_GROUP_CURSOR Kursor niezależną od sprzętu zasobów
RT_GROUP_ICON Ikona niezależną od sprzętu zasobów
RT_HTML Dokument HTML
RT_ICON Zależne od sprzętu ikonę zasobu
RT_MENU Menu zasobów
RT_MESSAGETABLE Wiadomości-spisu
RT_RCDATA Zdefiniowane przez aplikację zasobów (nieprzetworzone dane)
RT_STRING Ciąg-spisu
RT_VERSION Wersja zasobów

Zwraca wartości

Jeśli funkcja, wartość zwracany jest dojście do określonego zasobu o użytkowniku bloku. Aby uzyskać dojścia do zasobu, przekazać to dojście do funkcji LoadResource.

Jeśli funkcja zawiedzie, wartość zwracana jest wartość NULL. Aby uzyskać rozszerzonych informacji o błędach, należy wywołać GetLastError.

Uwagi

Jeśli słowo wysokich numerach parametr lpName lub lpType jest równe zero, program word bity określa identyfikator całkowitą nazw lub typ danego zasobu. W przeciwnym razie tych parametrów są długie wskaźniki do ciągów zakończona znakiem null. Jeśli pierwszego znaku ciągu jest znak krzyżyka (#), pozostałe znaki reprezentują liczbę dziesiętną, który określa identyfikator całkowitą nazwy lub typu zasobu. Na przykład ciąg "# 258" reprezentuje identyfikator całkowitą 258.

Aplikacja powinna zmniejszyć ilość pamięci wymaganej dla zasobów przez odnoszące się do nich przez całkowitą identyfikator zamiast przez nazwę.

Po zakończeniu przy użyciu tabeli akceleratora, bitmapy, kursor, ikona lub menu, można zwolnić jego skojarzony pamięci, wywołując jedną z funkcji w poniższej tabeli.

Zasób Funkcja wydania
Akcelerator tabeli DestroyAcceleratorTable
Mapa bitowa UsuńObiekt
Kursor DestroyCursor
Ikona DestroyIcon
Menu DestroyMenu

System automatycznie usuwa te zasoby, gdy kończy proces, który je utworzył, jednak wywołanie odpowiedniej funkcji Oszczędza pamięć i zmniejsza rozmiar zestawu roboczego procesu.

Aplikacja może używać FindResource aby znaleźć dowolnego typu zasobu, ale funkcja ta stosuje się tylko, jeżeli aplikacji musi uzyskać dostęp do danych binarnych zasobów, dokonując kolejnych zaproszeń do LoadLibrary i LockResource.

Aby użyć zasobu natychmiast, aplikacji powinny używać jednego ze następujące funkcje specyficzne dla zasobu do załadowania zasobów w jedno wywołanie:

Funkcja Działania
FormatMessage Ładuje i formatów wiadomości spisu.
LoadAccelerators Ładuje tabelę akcelerator.
LoadBitmap Ładuje zasób bitmapy.
LoadCursor Ładuje zasób kursora.
LoadIcon Wczytuje ikonę zasobu.
LoadMenu Ładuje zasobu menu.
LoadString Ładuje ciąg spisu.

Na przykład aplikacja można użyć funkcji LoadIcon załadować ikonę do wyświetlania na ekranie. Jednakże stosowanie należy używać FindResource i LoadResource , jeżeli jest ładowanie tę ikonę, aby skopiować dane do innej aplikacji.

Zasobów ciągu są przechowywane w sekcjach maksymalnie 16 ciągów ppkt. Ciągi w każdej sekcji są przechowywane jako sekwencja zliczona ciągów Unicode (nie zakończonymi znakiem null). LoadString funkcji zostaną wyodrębnione zasobu ciągu z jego odpowiedniej sekcji.

Systemu Windows CE: Parametr hModule nie może być uchwyt NULL.

Parametr lpName nie obsługuje identyfikator zasobu zera — oznacza to, że FindResource (h, 0, t) nie będzie działać zgodnie z oczekiwaniami.

Nie można przekazać wartości RT_ANICURSOR lub RT_ANIICON w parametrze lpType .

Skrócone informacje

nbsp; Windows &NT: wymagana wersja 3.1 lub nowsza.
Systemu Windows:Wymaga systemu Windows 95 lub nowszego.
Systemu Windows CE:Wymaga wersja 1.0 lub nowsza.
Nagłówka:Zadeklarowane w winbase.h.
Importowanie biblioteki:Należy użyć kernel32.lib.
Unicode:Implementowane jako wersje Unicode i ANSI w systemie Windows i Windows NT.

Zobacz też

Przegląd zasobów, działa zasób, FindResourceEx, FormatMessage, LoadAccelerators, LoadBitmap, LoadCursor, LoadIcon, LoadMenu, LoadResource, LoadString, LockResource, SizeofResource

Index