La funzione FindResource determina la posizione di una risorsa con il tipo specificato e il nome nel modulo specificato.
(HRSRC FindResource HMODULE hModule, / / handle del moduloLPCTSTRlpName, / / puntatore a nome della risorsaLPCTSTRlpType / / tipo di puntatore a risorsa);
Consente di specificare un valore NULL l'handle del modulo associato al file di immagine che il sistema operativo utilizzato per creare il processo corrente.
| Valore | Significato |
|---|---|
| RT_ACCELERATOR | Tabella Accelerator |
| RT_ANICURSOR | Cursore animato |
| RT_ANIICON | Icona animata |
| RT_BITMAP | Risorsa bitmap |
| RT_CURSOR | Risorse dipendenti dall'hardware cursor |
| RT_DIALOG | Nella finestra di dialogo |
| RT_FONT | Risorsa di tipo di carattere |
| RT_FONTDIR | Risorse di carattere directory |
| RT_GROUP_CURSOR | Risorsa indipendente dall'hardware cursor |
| RT_GROUP_ICON | Risorsa indipendente dall'hardware icona |
| RT_HTML | Documento HTML |
| RT_ICON | Risorsa icona dipendenti dall'hardware |
| RT_MENU | Risorsa di menu |
| RT_MESSAGETABLE | Voce della tabella messaggio |
| RT_RCDATA | Dall'applicazione risorse (dati grezzi) |
| RT_STRING | Voce della tabella stringa |
| RT_VERSION | Risorsa versione |
Se la funzione ha esito positivo, il valore restituito è un handle per il blocco di informazioni della risorsa specificata. Per ottenere un handle per la risorsa, passare questo handle alla funzione LoadResource.
Se la funzione ha esito negativo, il valore restituito è NULL. Per ottenere informazioni di errore estese, chiamare GetLastError.
Se la parola di ordine superiore del parametro lpName o lpType è zero, la parola significativi specifica l'identificatore di numero intero del nome o del tipo di risorsa specificata. In caso contrario, tali parametri sono puntatori a lunghi in stringhe con terminazione null. Se il primo carattere della stringa è un segno di cancelletto (#), i caratteri rimanenti rappresentano un numero decimale che specifica l'identificatore del valore integer di tipo o il nome della risorsa. Ad esempio, la stringa "# 258" rappresenta l'identificatore del valore integer 258.
Un'applicazione dovrebbe ridurre la quantità di memoria necessaria per le risorse, facendo riferimento alla loro dall'identificatore di numero intero anziché per nome.
Quando si è terminato di utilizzare una tabella di acceleratore, bitmap, cursore, icona o dal menu, si può rilasciare la memoria associata chiamando una delle funzioni nella tabella seguente.
| Risorsa | Funzione di rilascio |
|---|---|
| Tabella Accelerator | DestroyAcceleratorTable |
| Bitmap | DeleteObject |
| Cursore | DestroyCursor |
| Icona | DestroyIcon |
| Dal menu | DestroyMenu |
Il sistema elimina automaticamente queste risorse quando termina il processo che li ha creati, tuttavia, chiamando la funzione appropriata conserva la memoria e riduce le dimensioni del set di lavoro del processo.
Un'applicazione può utilizzare FindResource per trovare qualsiasi tipo di risorsa, ma questa funzione deve essere utilizzata solo se l'applicazione deve accedere ai dati di risorse binari quando si effettuano le chiamate successive a LoadLibrary e LockResource.
Per utilizzare una risorsa immediatamente, un'applicazione deve utilizzare una delle seguenti funzioni specifiche della risorsa per trovare e caricare le risorse in una sola chiamata:
| Funzione | Azione |
|---|---|
| FormatMessage | Carica e formatta una voce della tabella dei messaggi. |
| LoadAccelerators | Carica una tabella accelerator. |
| LoadBitmap | Carica una risorsa bitmap. |
| LoadCursor | Carica una risorsa del cursore. |
| LoadIcon | Carica una risorsa icona. |
| LoadMenu | Carica una risorsa dal menu. |
| LoadString | Carica una voce della tabella delle stringhe. |
Ad esempio, un'applicazione può utilizzare la funzione LoadIcon per caricare un'icona per visualizzare sullo schermo. Tuttavia, l'applicazione deve utilizzare FindResource e LoadResource se sta caricando l'icona per copiare i dati di un'altra applicazione.
Risorse di tipo stringa vengono memorizzate nelle sezioni di fino a 16 stringhe per sezione. Le stringhe in ogni sezione sono memorizzate come una sequenza di stringhe Unicode (non con terminazione null) conteggiati. La funzione LoadString estrarrà la risorsa di tipo stringa dalla sezione corrispondente.
Windows CE: Il parametro hModule non può essere un handle NULL.
Il parametro lpName non supporta l'ID di risorsa zero — cioè, FindResource (h, 0, t) non funziona come previsto.
Lei non può passare i valori RT_ANICURSOR o RT_ANIICON nel parametro lpType .
nbsp; Windows &NT: richiede 3.1 o versione successiva.
Windows:Richiede Windows 95 o versioni successive.
Windows CE:Richiede la versione 1.0 o successiva.
Intestazione:Dichiarati in Winbase.
Importare librerie:Utilizzare il kernel.
Unicode:Implementato come versioni Unicode e ANSI in Windows e Windows NT.
Panoramica delle risorse, le funzioni delle risorse, FindResourceEx, FormatMessage, LoadAccelerators, LoadBitmap, LoadCursor, LoadIcon, LoadMenu, LoadResource, LoadString, LockResource, SizeofResource
Rimedio: Inserire il CD-ROM CD di MSDN Library.