DSJ: That will work, but it is also too slow for what I need... and I can't figure out the ExtractIcon API anyway.

Can anyone explain how to use shell "Interfaces" in VB.NET? The ones I need to use are IExtractIcon:ExtractIcon and IExtractIcon:GetIconLocation. These seem to be the easiest and most efficient methods, and can return both the large and small icon for a file.

MSDN documentation can be found here, if anyone can understand how to use it better than me: http://msdn.microsoft.com/library/de...on/Extract.asp