使用C#的接口函数,提取进程的图标。把提取到的图标以进程名+“.con”保存至一个文件夹中。
private void button1_Click(object sender, EventArgs e)
{
using (ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher("select ProcessId, Name, ExecutablePath from Win32_Process"))
{
using (var results = managementObjectSearcher.Get())
{
var processes = results.Cast<ManagementObject>().Select(p => new
{
ProcessId = (UInt32)p["ProcessId"],
Name = (string)p["Name"],
ExecutablePath = (string)p["ExecutablePath"]
});
listView1.BeginUpdate();
foreach (var pro in processes)
{
if (System.IO.File.Exists(pro.ExecutablePath))
{
var icon = Icon.ExtractAssociatedIcon(pro.ExecutablePath);
var key = pro.ProcessId.ToString();
string[] ProcessName = pro.Name.Split(new char[] { '.' });
Icon myIcon = icon;
FileStream fileStream = new FileStream(@"bin\ico\"+ ProcessName[0] + ".ico", FileMode.Create);
myIcon.Save(fileStream);
fileStream.Close();
this.imageList1.Images.Add(key, icon.ToBitmap());
this.listView1.Items.Add(pro.Name, key);
}
}
listView1.EndUpdate();
}
}
}
#转载请注明出处!
快来制作你的简历吧 ,请猛戳这里→点击在线制作
宝塔服务器面板,一键全能部署及管理,送你3188元礼包。请猛戳这里→点我领取


