如何在C#中加载程序图标

0 c# icons

我有一些程序的路径(例如资源管理器),如何获取程序图标,将其转换为png/jpeg然后在PictureBox中显示?

我有这样的事情:

string filePath = "C:\\myfile.exe";
Icon TheIcon = IconFromFilePath(filePath);
if (TheIcon != null) {

 // But then I don't know what to do...

}

public Icon IconFromFilePath(string filePath){
 Icon programicon = null;
 try {
  programicon = Icon.ExtractAssociatedIcon(filePath);
 }
 catch { } 
 return programicon;
}
Run Code Online (Sandbox Code Playgroud)

我发现了类似的东西.这是图标.我怎么能创建32位图标?

256色

Cod*_*ray 6

如果你知道在哪里看,代码非常简单.从Icon课程开始,因为这基本上就是你在这里所追求的.

如果你浏览它的方法,你会发现一个非常有趣的外观ExtractAssociatedIcon.它接受单个字符串参数,该参数指定包含图标的文件的路径,例如可执行文件.

所以这给了你一个Icon对象,现在你只需要在PictureBox中显示它.您不必将其转换为PNG或JPEG,位图工作正常.并且有一个内置的成员函数:ToBitmap.

PictureBox.Image只需将新位图分配给属性即可显示它.