WinAPI

ExtractIcon

  • 2006-08-13 21:41
  • 0 komentarzy
  • 454 odsłony
  • Oceń ten tekst jako pierwszy
//C
HICON ExtractIcon(
    HINSTANCE hInst,
    LPCTSTR lpszExeFileName,
    UINT nIconIndex
);

//Delphi
function ExtractIcon(hInst: Integer; lpszExeFileName: PChar; nIconIndex: Integer): HICON;

Funkcja ExtractIcon pobiera uchwyt ikony z określonego pliku wykonywalnego, dynamicznie ładowanej biblioteki (DLL) lub pliku ikony (ICO).

Aby pobrać tablicę uchwytów duzych lub małych ikon, należy posłużyć się funkcją ExtractIconEx.


Parametry
hInst
Uchwyt aplikacji wywołującej.

lpszExeFileName
Wskaźnik na łańcuch określający nazwę pliku, z którego ma być pobrana ikona

nIconIndex
Indeks (liczony od 0) ikony do pobrania. Na przykład, jeśli indeks ma wartość 0, funkcja zwraca uchwyt pierwszej ikony w określonym pliku.
Jeśli indeks ma wartość -1, funkcja zwraca ilość ikon w określonym pliku. Jeśli plik jest plikiem wykonywalnym lub biblioteką (DLL), zwrócona wartość określa ilość zasobów typu RT_GROUP_ICON. Jeśli plik jest plikiem ikony (ICO), funkcja zwraca wartość 1.

Jeśli indeks jest liczbą ujemną różną od -1, funkcja zwraca uchwyt ikony z określonego pliku, której identyfikator zasobu jest równy wartości bezwzględnej parametru nIconIndex. Na przykład, aby wydobyć ikonę o identyfikatorze zasobu 3, w parametrze nIconIndex należy przekazać wartość -3. Aby wydobyć ikonę o identyfikatorze zasobu równym 1 należy posłużyć się funkcją ExtractIconEx.


Wartość zwracana
Funkcja zwraca uchwyt ikony. Jeśli określony plik nie był plikiem wykonywalnym, biblioteką (DLL) lub plikiem ikony (ICO), funkcja zwraca wartość 1. Jeśli w określonym pliku nie zostały znalezione ikony, funkcja zwraca NULL (0).


Uwagi
Po wykorzystaniu należy zamknąć uchwyt ikony przy użyciu funkcji DestroyIcon.

Windows 95/98/Me: Wersja Unicode funkcji (ExtractIconW) jest wspierana przez Warstwę Unicode (Microsoft Layer for Unicode) - MSLU. Aby użyć funkcji w wersji Unicode, należy dokonać pewnych zmian w aplikacji wedle wskazówek nakreślonych w Microsoft Layer for Unicode on Windows 95/98/Me Systems (eng)


Zobacz też