使用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元礼包。请猛戳这里→点我领取