Type a page name and press Enter. You'll jump to the page if it exists, or you can create it if it doesn't.
To create a page in a module other than shell32, prefix the name with the module name and a period.

User-Defined Types:

Notes:

in A null-terminated string specifying the name of an executable file, DLL, or icon file from which icons will be extracted.

nIconIndex

in Specifies the zero-based index of the first icon to extract. For example, if this value is zero, the function extracts the first icon in the specified file.

If this value is –1 and phiconLarge and phiconSmall are both NULL, the function returns the total number of icons in the specified file. If the file is an executable file or DLL, the return value is the number of RT_GROUP_ICON resources. If the file is an .ico file, the return value is 1.

Windows 95/98/Me, Windows NT 4.0 and later: If this value is a negative number and either phiconLarge or phiconSmall is not NULL, the function begins by extracting the icon whose resource identifier is equal to the absolute value of nIconIndex. For example, use -3 to extract the icon whose resource identifier is 3.

phiconLarge

out Pointer to an array of icon handles that receives handles to the large icons extracted from the file. If this parameter is NULL, no large icons are extracted from the file.

phiconSmall

out Pointer to an array of icon handles that receives handles to the small icons extracted from the file. If this parameter is NULL, no small icons are extracted from the file.

nIcons

in Specifies the number of icons to extract from the file.

Tips & Tricks:

For Windows CE: import coredll.dll not shell32.dll

For Windows CE 2.10 and later: the nIconIndex parameter must be zero or –N, where N is a specified resource identifier. The nIcons parameter must be 1.

For Windows CE 1.0 through 2.10: the function returns the total number of icons in the specified file if nIconIndex is –1 and phIconLarge and phiconSmall are both NULL. If the file is an executable file or DLL, the return value is the number of RT_GROUP_ICON resources. If the file is an .ICO file, the return value is 1.

If (readIconCount > 0 AndAlso Not hIconEx(0).Equals(IntPtr.Zero)) Then
' GET FIRST EXTRACTED ICON
Dim extractedIcon As Icon = Icon.FromHandle(hIconEx(0)).Clone()
Return extractedIcon
Else ' NO ICONS READ
Return Nothing
End If
Catch ex As Exception
' EXTRACT ICON ERROR
' BUBBLE UP
Throw New ApplicationException("Could not extract icon", ex)
Finally
'RELEASE RESOURCES
For Each ptr As IntPtr In hIconEx
If (Not ptr.Equals(IntPtr.Zero)) Then
DestroyIcon(ptr)
End If
Next ptr

For Each ptr As IntPtr In hDummy
If Not (ptr.Equals(IntPtr.Zero)) Then
DestroyIcon(ptr)
End If
Next ptr
End Try
End Function
End Module