Die FindResource -Funktion bestimmt den Speicherort der eine Ressource mit dem angegebenen Typ und Namen im angegebenen Modul.
HRSRC FindResource) HMODULE hModule, / / Modul-handleLPCTSTRlpName, / / Zeiger auf RessourcennameLPCTSTRLpType / / Zeiger auf Ressource-Typ);
Der Wert NULL gibt das Modulhandle zugeordnete Bilddatei an, die das Betriebssystem verwendet, um den aktuellen Prozess erstellen.
| Wert | Bedeutung |
|---|---|
| RT_ACCELERATOR | Zugriffstastentabelle |
| RT_ANICURSOR | Animierte cursor |
| RT_ANIICON | Animiertes Symbol |
| RT_BITMAP | Bitmapressource |
| RT_CURSOR | Hardware-abhängige Cursor-Ressource |
| RT_DIALOG | Im Dialogfeld |
| RT_FONT | Schriftart-Ressource |
| RT_FONTDIR | Verzeichnis Schriftartressource |
| RT_GROUP_CURSOR | Hardware-unabhängige Cursor-Ressource |
| RT_GROUP_ICON | Hardware-unabhängige Symbolressource |
| RT_HTML | HTML-Dokument |
| RT_ICON | Hardware-abhängige Symbolressource |
| RT_MENU | Menüressource |
| RT_MESSAGETABLE | Nachricht-Tabelleneintrag |
| RT_RCDATA | Anwendungsdefinierten Ressourcen (Rohdaten) |
| RT_STRING | Zeichenfolgentabellen-Eintrag |
| RT_VERSION | Version-Ressource |
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Handle für das angegebene Ressource-Infoblock. Um einen Handle auf die Ressource zu erhalten, übergeben Sie dieses Handle an die LoadResource -Funktion.
Wenn die Funktion fehlschlägt, ist der Rückgabewert NULL. Rufen Sie Fehlerinformationen verlängert bekommen, GetLastError.
Wenn das hohe Word des Parameters LpName oder LpType NULL ist, gibt das niedrige Word den ganzzahligen Bezeichner des Namens oder der Typ der angegebenen Ressource. Andernfalls sind diese Parameter lange Zeiger auf Null-terminierte Zeichenfolgen. Wenn das erste Zeichen der Zeichenfolge ein Nummernzeichen (#) ist, stellen die verbleibenden Zeichen eine decimal-Zahl, die den ganzzahligen Bezeichner der Namen oder den Typ der Ressource angibt. Beispielsweise stellt die Zeichenfolge "# 258" den ganzzahligen Bezeichner 258.
Eine Anwendung sollte die Reduzierung der erforderlichen Speicher für die Ressourcen von Ihnen mit einem ganzzahligen Bezeichner statt nach Namen verweisen.
Wenn Sie eine Zugriffstastentabelle, Bitmap, Cursor, Symbol oder Menü benötigen, können Sie seinen zugeordneten Speicher freigeben, indem Sie eine der Funktionen in der folgenden Tabelle.
| Ressourcen | Funktion freigeben |
|---|---|
| Zugriffstastentabelle | DestroyAcceleratorTable |
| Bitmap | DeleteObject |
| Cursor | DestroyCursor |
| Symbol | DestroyIcon |
| Menü | DestroyMenu |
Das System löscht automatisch diese Ressourcen beim Beenden des Prozesses, der sie erstellt, aber die entsprechende Funktion aufgerufen spart Arbeitsspeicher und reduziert die Größe des Workingsets des Prozesses.
Eine Anwendung kann FindResource verwenden, um jede Art von Ressource zu finden, aber diese Funktion sollte verwendet werden, nur wenn die Anwendung die binären Daten zugreifen muss, wenn nachfolgende Aufrufe an LoadLibrary und LockResource.
Eine Ressource verwenden sollte sofort in eine Anwendung eine der folgenden Ressourcen-spezifische Funktionen zum Suchen und Laden der Ressourcen in einem Aufruf:
| Funktion | Aktion |
|---|---|
| FormatMessage | Lädt und formatiert einen Nachricht-Tabelleneintrag. |
| LoadAccelerators | Lädt eine Zugriffstastentabelle. |
| LoadBitmap | Lädt eine Bitmapressource. |
| LoadCursor | Lädt eine Cursor-Ressource. |
| LoadIcon | Lädt eine Symbolressource. |
| LoadMenu | Lädt eine Menüressource. |
| LoadString | Lädt einen Zeichenfolge Tabelleneintrag. |
Beispielsweise kann eine Anwendung die Funktion LoadIcon verwenden, ein Symbol für die Anzeige auf dem Bildschirm laden. Allerdings sollten die Anwendung FindResource und LoadResource verwenden, wenn es, das Symbol geladen wird, um ihre Daten zu einer anderen Anwendung kopieren.
Zeichenfolgenressourcen sind in Abschnitten von bis zu 16 Strings pro Abschnitt gespeichert. Die Zeichenfolgen in jedem Abschnitt werden als eine Folge von gezählt (nicht Null-terminiert) Unicode-Zeichenfolgen gespeichert. Die LoadString Funktion extrahiert die Zeichenfolgenressource aus den entsprechenden Abschnitt.
Windows CE: Der hModule -Parameter darf kein NULL-Handle sein.
Der LpName Parameter unterstützt nicht die Ressourcen-ID 0 (null) — d. h. FindResource (h, 0, t) wird nicht wie erwartet funktioniert.
Sie können nicht die Werte RT_ANICURSOR oder RT_ANIICON im LpType -Parameter übergeben.
&Nbsp; Windows NT: Version 3.1 oder höher erforderlich.
Windows:Erfordert Windows 95 oder höher.
Windows CE:Version 1.0 oder höher benötigt.
Header:Deklariert in winbase.h.
Importieren Bibliothek:Verwenden Sie kernel32.lib.
Unicode:Als Unicode und ANSI-Versionen auf Windows und Windows NT implementiert.
Übersicht über Ressourcen, Funktionen, Ressourcen, FindResourceEx, FormatMessage, LoadAccelerators, LoadBitmap, LoadCursor, LoadIcon, LoadMenu, LoadResource, LoadString, LockResource, SizeofResource