Here is a sample prepared by Matthias Heubi that uses interop to access SHGetFileInfo to retrieve icons.
You could also use the ExtractIconEx native api via PInvoke to extract the app icon.