Получить список программ в таблицу, с иконками, которые установлены на компьютере - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Появилась идея создания программы. И мне необходимо получить список программ в таблицу, с иконками, которые установлены на компьютере. Как такое вообще реализовать. Я вообще новичек в этом деле. Может кто поможет советом. Нашел кое что в интернете, но никак не понял куда и как выводить с помощью данного скрипта: http://modusponens.info/2011/03/installed-programms-c-sharp/

Решение задачи: «Получить список программ в таблицу, с иконками, которые установлены на компьютере»

textual
Листинг программы
using System;
using Microsoft.Win32;
using System.Windows.Forms;
using System.Collections.Generic;
 
namespace WinFormsApp
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, System.EventArgs e)
        {
            GetInstalledSoftware();
        }
 
        private void GetInstalledSoftware()
        {
            List<string> items = new List<string>();
            string SoftwareKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
            using (RegistryKey rk = Registry.LocalMachine.OpenSubKey(SoftwareKey))
            {
                foreach (string skName in rk.GetSubKeyNames())
                {
                    using (RegistryKey sk = rk.OpenSubKey(skName))
                    {
                        try
                        {
                            if (sk.GetValue("DisplayName") != null)
                            {
                                items.Add(sk.GetValue("DisplayName").ToString());                            
                                items.Add(CheckValue(sk.GetValue("DisplayVersion")));
                                items.Add(CheckValue(sk.GetValue("Publisher")));
                                listView1.Items.Add(new ListViewItem(items.ToArray()));
                            }                            
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                    }
                    items.Clear();
                }
            }
        }
 
        private string CheckValue(object input)
        {
            if (input != null)
                return input.ToString();
            else
                return string.Empty;
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.667 из 5
Похожие ответы