Автозапуск программы в C#
Автозапуск программы в C#
В этой статье мы напишем программу, которая будет добавлять себя в автозапуск Windows, с помощью реестра. Для этого нам понадобятся минимальные умения работы с реестром в C# и утилита regedit (Пуск->Выполнить->regedit), которая позволяет просматривать древовидную структуру реестра Windows.Чтобы программа запускалась при загрузке Windows, необходимо создать ключ реестра в ветке реестра "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\" названием ключа будет имя нашей программы, а значением - путь к исполняемому файлу программы.
В C# за работу с реестром отвечает класс Microsoft.Win32.Registry, а за работу с ключами - Microsoft.Win32.RegistryKey. Перед тем как писать код, давайте создадим новый проект и положим на него 2 кнопки "Добавить" (будет создавать ключ в реестре) и "Удалить" (удаляет ключ). В обработчике для кнопки "Добавить" пишем:
Microsoft.Win32.RegistryKey myKey =
Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run\", true);
myKey.SetValue("MyProgram", Application.ExecutablePath);
Теперь нажимаем кнопку "Добавить", запускаем regedit, добираемся до ветки Run и проверяем - если ключ создан, то можем перезагружать компьютер и
наша программа запустится при загрузке Windows. Следует отметить что в качестве параметров функции SetValue первым является название ключа. А вот второй параметр - это
путь к исполняемому файлу нашей программы.Часто возникает вопрос "Откуда запущена программа?", ответ довольно прост:
Application.ExecutablePath - возвращает путь и имя исполняемого файла.
Application.StartupPath - возвращает путь к исполняемому файлу.
Вот в качестве второго параметра мы и передаем ExecutablePath, который сохраняет путь и имя нашей программы в реестре.
Для удаления ключа, в обработчике нажатия кнопки, пишем такой несложный код:
Microsoft.Win32.RegistryKey myKey =
Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run\", true);
myKey.DeleteValue("MyProgram");
Код достаточно прост. Стоит отметить что мы указываем наименование ключа, который нужно удалить из текущей ветки реестра. Опять-таки запускаем regedit и
проверяем - ключ удалился. Для того чтобы обновить список ключей в regedit нажимаем F5.Вот такие несложные строки кода, позволяют программистам добавлять свои программы в автозапуск :)
После прочтения этой статьи, вы знаете как сделать автозапуск программы.
Информация о статье "Автозапуск программы в C#"
DeVoid |
http://devoid.com.ua/ |
4 Ноября 2007 |
Просмотрели 17575 раз
КОММЕНТАРИИ
Комментариев еще нет.
Зарегистрируйтесь или выполните Вход для того чтобы оставлять комментарии


Не менее интересно