我有某个程序的路径(例如explorer),如何获取程序图标,将其转换为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;
}
我发现了类似的东西here。这是图标。如何创建 32 位图标?
![256 colors](https://i.stack.imgur.com/be5sE.png)
如果您知道在哪里查找,那么代码会出人意料地简单。从Icon class,因为这从根本上就是您所追求的。
如果你浏览它的方法,你会发现一个非常有趣的外观ExtractAssociatedIcon。它接受单个字符串参数,该参数指定包含图标的文件(例如可执行文件)的路径。
所以这给了你一个Icon
对象,现在您只需将其显示在 PictureBox 中。您不必将其转换为 PNG 或 JPEG,位图就可以正常工作。有一个内置的成员函数:ToBitmap.
将新位图分配给PictureBox.Imageproperty 就是显示它所需要做的全部工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)