Добавить программу в панель управления / программы и компоненты на 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:
InstallCalc.exe — это файл (1-ый пример кода), который добавляет калькулятор в "панель управления / программы и компоненты".
Запускаем данный файл и проверяем, что наш условный калькулятор появился там где нужно:
Давайте теперь удалим программу, нажав "Удалить/Изменить". Нажатие данной клавиши приведёт к вызову утилиты CalcDelete.exe. Далее мы увидим, что калькулятор пропал из списка программ.
В данной статье вы научились добавлять программу в список программ панели управления.
На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.