Добавить программу в панель управления / программы и компоненты на C#

Добавить программу в панель управления / программы и компоненты на C#

Всем доброго времени суток. На связи Алексей Гулынин. В данной статье я бы хотел рассказать, как программу добавить в "панель управления / программы и компоненты" на C#. В данном примере совсем неважно какую программу будем добавлять. Условно добавлять будем простой калькулятор calc.exe, который находится в папке C:\Windows\System32. На диске C создадим папку Calc, в которую будем добавлять все необходимые файлы. Сюда добавим файлы calc.ico (это иконка программы, которая будет отображаться в панели управления) и calcdelete.exe, который мы напишем ниже, а также файл calc.exe.

Сразу приведу код добавления программы:

using System;
using Microsoft.Win32;

namespace CalcInstall
{
  class Program
  {
    static void Main(string[] args)
    {
      string progName = "Калькулятор";
      string progDir = @"C:\Calc";
      string progIcon = @"C:\Calc\calc.ico";
      string progDeleteString = @"C:\Calc\CalcDelete.exe";

      AddProgramToControlPanel(progName, progDir, progIcon, progDeleteString);

      Console.ReadLine();
    }

    public static void AddProgramToControlPanel(string progName, string progDir, string progIcon, string progDeleteString)
    {
      try
      {
        // Определяем ветку реестра, в которую будем вносить изменения
        string registryLocation = @"Software\Microsoft\Windows\CurrentVersion\Uninstall";
        // Открываем указанный подраздел в разделе реестра HKEY_LOCAL_MACHINE для записи
        RegistryKey regKey = (Registry.LocalMachine).OpenSubKey(registryLocation, true);
        // Создаём новый вложенный раздел с информацией по нашей программе
        RegistryKey progKey = regKey.CreateSubKey(progName);
        // Отображаемое имя
        progKey.SetValue("DisplayName", progName, RegistryValueKind.String);
        // Папка с файлами
        progKey.SetValue("InstallLocation", progDir, RegistryValueKind.ExpandString);
        // Иконка
        progKey.SetValue("DisplayIcon", progIcon, RegistryValueKind.String);
        // Строка удаления
        progKey.SetValue("UninstallString", progDeleteString, RegistryValueKind.ExpandString);
        // Отображаемая версия
        progKey.SetValue("DisplayVersion", "6.1.7600", RegistryValueKind.String);
        // Издатель
        progKey.SetValue("Publisher", "Microsoft", RegistryValueKind.String);
        Console.WriteLine("Программа была успешно добавлена в панель управления!");
      }
      catch (Exception ex)
      {
        Console.WriteLine("Во время добавления программы произошла ошибка! Ошибка: {0}", ex.Message);
      }
    }
  }
}

Код удаления программы:

using System;
using Microsoft.Win32;

namespace CalcDelete
{
  class Program
  {
    static void Main(string[] args)
    {
      DeleteProgramFromControlPanel("Калькулятор");
      Console.ReadLine();
    }

    public static void DeleteProgramFromControlPanel(string progName)
    {
      string registryLocation = @"Software\Microsoft\Windows\CurrentVersion\Uninstall";
      RegistryKey regKey = (Registry.LocalMachine).OpenSubKey(registryLocation, true);
      RegistryKey progKey = regKey.OpenSubKey(progName);
      // Если у нас такая ветка реестра есть
      if (progKey != null)
      {
        // Удаляем данные о программе
        regKey.DeleteSubKey(progName);
        Console.WriteLine("Программа была успешно удалена из панели управления!");
		// Здесь также можно реализовать удаление файла calc.exe из папки.
      }
    }
  }
}

Как выглядит содержимое папки C:\Calc:

Добавление программы в панель управления на C#

InstallCalc.exe — это файл (1-ый пример кода), который добавляет калькулятор в "панель управления / программы и компоненты".

Запускаем данный файл и проверяем, что наш условный калькулятор появился там где нужно:

Добавление программы в панель управления на C#

Давайте теперь удалим программу, нажав "Удалить/Изменить". Нажатие данной клавиши приведёт к вызову утилиты CalcDelete.exe. Далее мы увидим, что калькулятор пропал из списка программ.

В данной статье вы научились добавлять программу в список программ панели управления.

На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.


Комментарии:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *