Can't you just create a "dummy" file with the extention you want to find the icon for and then use the ExtractAssosiatedIcon on that file?
Code:
'the extention is in the sExt string
'Declarations void
hFile = FreeFile
Open "c:\Dummy." & sExt For Output As #hFile
Close #hFile
hIcon = ExtractAssociatedIcon(App.hInstance, "c:\Dummy." & sExt, 0)
Kill "c:\Dummy." & sExt
Then use DrawIcon to draw it on a hidden picture box and then add the image to an ImageList.

Best regards