.NET Icon Explorer
A serious all .NET utility for stealing high quality icons.
This application is an update of my earlier VB Classic Icon Explorer Utility to the .NET Framework. It demonstrates how to use the IconEx class to read and write the .ICO file format, either on disk or from a resource within an executable or DLL.
The Icon class provided in the System.Drawing namespace seems to be similar to the one provided with VB classic, in that it only represents a single icon size and colour depth. In Win32, icons actually contain a directory of multiple sizes and colour depths, and this feature is much used by Explorer to provide the display quality it does. The IconEx class used by this utility (article coming later) provides a way to deal with real Win32 icons, as it consists of a collection of IconDeviceImage objects. It also includes native routines for reading and writing icons so you can read icons from anywhere and write them without losing any of the images.
The IconExplorer utility uses the class to load icon files natively, or to interrogate the contents of Windows executables or libraries. You can then view the available device images in the customised ListBox and extract single or multiple icons to disk.
New - Batch Extractor
The .NET version also includes a batch extraction mode (with a rubbish Wizard logo). Simply set this off running on your C drive and (some while later) you'll end up with a directory containing a mammoth quantity of icons, some of which are even quite useful. On my system, which hasn't really got that much installed on it, the batch found just under 10,000 icons for me to have a look through...