Essentials Autorun Автозапуск програми на C#
У цій статті ми напишемо програму, яка додаватиме себе в автозапуск Windows за допомогою реєстру. Для цього нам знадобляться мінімальні вміння роботи з реєстром у C# і утиліта regedit (Пуск-Виконати-regedit), яка дозволяє переглядати деревоподібну структуру реєстру Windows. Щоб програма запускалася під час завантаження Windows, необхідно створити ключ реєстру у гілці реєстру "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\" назвою ключа буде ім'я нашої програми, а значенням - шлях до виконуваного файлу програми. У C# за роботу з реєстром відповідає клас Microsoft.Win32.Registry, а за роботу з ключами - Microsoft.Win32.RegistryKey. Перед тим як писати код, давайте створимо новий проект і покладемо на нього 2 кнопки "Додати" (створюватиме ключ у реєстрі) та "Видалити" (видаляє ключ). В обробнику для кнопки "Додати" пишемо:
Тепер натискаємо кнопку "Додати", запускаємо regedit, добираємося до гілки Run та перевіряємо - якщо ключ створений, то можемо перезавантажувати комп'ютер і наша програма запуститься під час завантаження Windows. Слід зазначити, що в якості параметрів функції SetValue першою є назва ключа. А ось другий параметр – це шлях до виконуваного файлу нашої програми. Часто виникає питання "Звідки запущена програма?", відповідь досить проста:Application.ExecutablePath- повертає шлях та ім'я файлу, що виконується.Application.StartupPath- повертає шлях до виконуваного файлу. Ось як другий параметр ми і передаємоExecutablePath, який зберігає шлях та ім'я нашої програми в реєстрі. Для видалення ключа в обробнику натискання кнопки пишемо такий нескладний код:
Код досить простий. Варто зазначити, що ми вказуємо найменування ключа,який потрібно видалити з поточної гілки реєстру. Знову ж таки запускаємо regedit і перевіряємо - ключ пішов. Для того щоб оновити список ключів regedit натискаємо F5. Ось такі нескладні рядки коду дозволяють програмістам додавати свої програми в автозапуск :) Після прочитання цієї статті, ви знаєте як зробитиавтозапуск програми.