Freigeben über


SHExtractIconsW-Funktion

Erstellt ein Array von Ziehpunkten zu Symbolen, die aus einer angegebenen Datei extrahiert wurden.

Hinweis

Diese Funktion ist über Windows XP Service Pack 2 (SP2) verfügbar. In nachfolgenden Versionen wird sie möglicherweise geändert oder entfernt. Verwenden Sie stattdessen die Funktion SHDefExtractIcon.

Syntax

UINT SHExtractIconsW(
  _In_  LPCWSTR pszFileName,
  _In_  int     nIconIndex,
  _In_  int     cxIcon,
  _In_  int     cyIcon,
  _Out_ HICON   *phIcon,
  _Out_ UINT    *pIconId,
  _In_  UINT    nIcons,
  _In_  UINT    flags
);

Parameter

pszFileName [in]

Typ: LPCWSTR

Ein Zeiger auf den Dateinamen, aus dem die Symbole extrahiert werden sollen.

nIconIndex [in]

Typ: int

Der Index des ersten Symbols, das aus der Ressource extrahiert werden soll, die in pszFileName benannt ist.

cxIcon [in]

Typ: int

Die gewünschte Breite des Symbols. Siehe Hinweise.

cyIcon [in]

Typ: int

Die gewünschte Höhe des Symbols. Siehe Hinweise.

phIcon [out]

Typ: HICON*

Wenn diese Funktion zurückgegeben wird, enthält sie einen Zeiger auf das Array von Symbolziehpunkten.

pIconId [out]

Typ: UINT*

Wenn diese Funktion zurückgegeben wird, enthält sie einen Zeiger auf den Ressourcenbezeichner des extrahierten Symbols, das am besten zum aktuellen Anzeigegerät passt. Wenn für dieses Format kein Bezeichner verfügbar ist, enthält sie 0xFFFFFFFF. Wenn aus einem anderen Grund kein Bezeichner abgerufen werden kann, wird Null zurückgegeben.

nIcons [in]

Typ: UINT

Die Anzahl der Symbole, die aus der Ressource extrahiert werden sollen, die in pszFileName benannt ist. Dieser Parameter ist nur gültig, wenn die Ressource eine EXE- oder DLL-Datei ist.

flags [in]

Typ: UINT

Die Kennzeichen, die diese Funktion steuern. Mögliche Werte finden Sie im Parameter fuLoad der Funktion LoadImage.

Rückgabewert

Typ: UINT

Bei erfolgreicher Ausführung ein Wert ungleich Null; andernfalls 0.

Hinweise

SHExtractIconsW extrahiert aus den folgenden Dateitypen.

  • Ausführbare Datei (.exe)
  • DLL (.dll)
  • Symbol (.ico)
  • Cursor (.cur)
  • Animierter Cursor (.ani)
  • Bitmap (.bmp)

Extraktionen aus ausführbaren Dateien von Windows 3.x 16-Bit (EXE oder DLL) werden ebenfalls unterstützt.

Die Parameter cxIcon und cyIcon geben die Größe der zu extrahierenden Symbole an. Zwei Größen können durch jeden Parameter extrahiert werden, indem der Wert zwischen LOWORD und HIWORD aufgeteilt wird. Platzieren Sie die erste gewünschte Größe im LOWORD des Parameters und die zweite Größe im HIWORD. Beispielsweise extrahiert MAKELONG(24, 48) sowohl für cxIcon- als auch für cyIcon-Symbole die Größe 24 und 48.

Der Aufrufvorgang ist dafür verantwortlich, alle Symbole zu zerstören, die durch diese Funktion extrahiert werden, indem die DestroyIcon-Funktion aufgerufen wird.

SHExtractIconsW wird nicht anhand des Namens exportiert oder in einer öffentlichen Headerdatei deklariert. Um ihn zu verwenden, müssen Sie einen übereinstimmenden Prototyp deklarieren und GetProcAddress verwenden, um einen Funktionszeiger von Shell32.dll anzufordern, der zum Aufrufen dieser Funktion verwendet werden kann.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 2000 Professional, Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2003 [nur Desktop-Apps]
DLL
Shell32.dll (Version 5.0 oder höher)
Unicode- und ANSI-Namen
SHExtractIconsW (Unicode)