Desktop Functions: Smart Device Functions:
|
ExtractAssociatedIcon (shell32)
C# Signature:
[DllImport("shell32.dll")] VB Signature:
<DllImport("shell32.dll", CharSet:=CharSet.Auto)> _ User-Defined Types:None. Notes:Both the ExtractAssociatedIcon and 'System.Drawing.Icon.ExtractAssociatedIcon' extract only a 32x32 pixels icon. Another method must be used to aquire other icon sizes. The ExtractAssociatedIcon function also does not execute as documented. The documentation states that
If the icon is extracted from an associated executable file, the function stores the full path and file name of the executable file in the string pointed to by lpIconPath, and stores the icon's identifier in the WORD pointed to by lpiIcon. However, tests indicates that the upon return, the contents of both iconPath and index parameters are the same after the function returns successfully. Parameters:hInst in Specifies the instance of the application calling the function. lpIconPath in Pointer to a string that specifies the full path and file name of the file that contains the icon. The function extracts the icon handle from that file, or from an executable file associated with that file. If the icon handle is obtained from an executable file, the function stores the full path and file name of that executable in the string pointed to by lpIconPath. lpiIcon in, out Pointer to a WORD that specifies the index of the icon whose handle is to be obtained. If the icon handle is obtained from an executable file, the function stores the icon's identifier in the WORD pointed to by lpiIcon. Tips & Tricks:Please add some! Sample Code:Consider a Winform application with a OpenFileDialog that helps pick some file. This is then passed to the ExtractAssociatedIcon method to get the icon and display in a picture box.
public partial class IconTest : Form Alternative Managed API:Use static method 'System.Drawing.Icon.ExtractAssociatedIcon(string filePath)' in assembly 'System.Drawing.dll' (.net 2) Please edit this page!Do you have...
Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more). |
|