我有一些程序的路径(例如资源管理器),如何获取程序图标,将其转换为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位图标?

如果你知道在哪里看,代码非常简单.从Icon课程开始,因为这基本上就是你在这里所追求的.
如果你浏览它的方法,你会发现一个非常有趣的外观ExtractAssociatedIcon.它接受单个字符串参数,该参数指定包含图标的文件的路径,例如可执行文件.
所以这给了你一个Icon对象,现在你只需要在PictureBox中显示它.您不必将其转换为PNG或JPEG,位图工作正常.并且有一个内置的成员函数:ToBitmap.
PictureBox.Image只需将新位图分配给属性即可显示它.