Use icons in shell32.dll for buttons on form?

  • Thread starter Thread starter emde
  • Start date Start date
Try this

[DllImport("Shell32.dll")]
public extern static int ExtractIconEx( string libName, int iconIndex,
IntPtr[] largeIcon, IntPtr[] smallIcon, int nIcons );

int numIcons = 10;//if you want 10 icons for example

IntPtr[] largeIcon = new IntPtr[numIcons ];
IntPtr[] smallIcon = new IntPtr[numIcons ];

usage -

ExtractIconEx( "shell32.dll", 0, largeIcon, smallIcon, numIcons );

//retrieve icon from array
Icon largeIico = Icon.FromHandle( largeIcon[0]);
Icon smallIco = Icon.FromHandle( smallIcon[0]);

The first parameter of ExtractIconEx can be use to get icons for exe or dll.
 
Cool this seems to work fairly well. For a standard button I used:

chooseFileButton.Image = iconToUse.ToBitmap();

This works, but the image on the button looks like it needs some type of
alpha channel (black?) to have the correct transparency.

Any ideas on this?

Thanks again.
 
Back
Top