В результате выполнения данного кода приложение будет добавлено в автозагрузку у текущего пользователя. Если вам необходимо сделать это для всех пользователей, то используйте Registry.LocalMachine, вместо Registry.CurrentUser, но это потребует прав администратора.
Удаление приложения из автозагрузки:
using Microsoft.Win32; namespace Progtask.ru < class Program < static void Main(string[] args) < const string applicationName = «testProgram»; const string pathRegistryKeyStartup = «SOFTWARE\Microsoft\Windows\CurrentVersion\Run»; using (RegistryKey registryKeyStartup = Registry.CurrentUser.OpenSubKey(pathRegistryKeyStartup, true)) < registryKeyStartup.DeleteValue(applicationName, false); >> > >
Источник: progtask.ru
C# Как программно добавить приложение в автозагрузку Windows?
Всем привет! Пытаюсь программно добавить свое приложение в автозагрузку. Однако при старте системы приложение открывается и сразу же закрывается. При запуске приложения вручную оно работает. Добавляю в автозагрузку следующим способом
Как добавить программу в автозагрузку через реестр
private void installButton_Click(object sender, EventArgs e) < if (folderBrowserDialog.ShowDialog() == DialogResult.OK) < richTextBox_OK.Text = «»; richTextBox_ERROR.Text = «»; string dirPath = folderBrowserDialog.SelectedPath + «\AVUC»; string fileExePath = folderBrowserDialog.SelectedPath + «\AVUC\AVUC Microsoft Version Controller.exe»; string fileLinkPath = «C:\Users\» + userName + «\AppData\Roaming\Microsoft\Windows» + «\Start Menu\Programs\Startup\AVUC Microsoft Version Controller.lnk»; string fileTxtPath = folderBrowserDialog.SelectedPath + «\AVUC\configLocal.txt»; try < richTextBox_OK.Text += «UserName: » + userName + «n»; if (!Directory.Exists(dirPath)) < Directory.CreateDirectory(dirPath); richTextBox_OK.Text += «Directory «» + dirPath + «» createdn»; >else < richTextBox_ERROR.Text += «ERROR!tDirectory «» + dirPath + «» is already existsn»; richTextBox_ERROR.Text += «NOT INSTALLEDn»; return; >File.Copy(«AVUC Microsoft Version Controller.exe», fileExePath); richTextBox_OK.Text += «File «AVUC Microsoft Version Controller.exe» copy createdn»; File.Copy(«configLocal.txt», fileTxtPath); richTextBox_OK.Text += «File «configLocal.txt» copy createdn»; ShortCut.Create(fileExePath, fileLinkPath, «», «AVUC Microsoft Version Controller»); richTextBox_OK.Text += «Link created: » + fileLinkPath + «n»; richTextBox_OK.Text += «tINSTALLEDn»; > catch (Exception ex) < richTextBox_ERROR.Text += «ERROR!t» + ex.Message + «n»; richTextBox_ERROR.Text += «tNOT INSTALLEDn»; >> >
ShortCut.Create(fileExePath, fileLinkPath, «», «AVUC Microsoft Version Controller»);
Если вручную создать ярлык и поместить в папку автозагрузки работает ровно. Почему-то ему не нравятся программно созданные ярлыки или метод создания ярлыка получается. Если кто-то занет — подскажите плиз))
Как добавить программу в автозагрузку Windows 7/8
- Вопрос задан более двух лет назад
- 1007 просмотров
1 комментарий
Средний 1 комментарий
Источник: qna.habr.com
Как добавить программу в автозапуск?
Написал небольшую утилиту для закрытия ненужных процессов винды при старте (Sirena, Очередь печати и тд) Консольное приложение. Как добавить в автозапуск? Пробовал данный метод, но работает он криво(иногда не запускает вообще, и даже не отображается в списке Autoruns)
RegistryKey reg; reg= Registry.CurrentUser.CreateSubKey(«Software\Microsoft\Windows\CurrentVersion\Run\»);
Отслеживать
13.6k 12 12 золотых знаков 43 43 серебряных знака 72 72 бронзовых знака
задан 1 окт 2019 в 11:55
349 1 1 серебряный знак 14 14 бронзовых знаков
Как добавить в автозапуск?
Какой именно? их много разных. Если при входе пользователя в систему — лучше создать задание в планировщике.
1 окт 2019 в 12:11
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
- Можешь создать ярлык на свою программу в папке авторана.
%категория пользователя%AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup
Это самый «простой» способ.
Для удаления из автозапуска — просто удалить ярлык.
-
Можешь добавить в
// Путь к ключу где винда смотрит настройки автозапуска RegistryKey rkApp = Registry.CurrentUser.OpenSubKey(«SOFTWARE\Microsoft\Windows\CurrentVersion\Run», true); if (!IsStartupItem()) // Добавить значение в реестр для запуска напару с ОС rkApp.SetValue(«My app’s name», Application.ExecutablePath.ToString());
И программа запустится после перезапуска компьютера
Для удаления из автозапуска:
// Путь к ключу где винда смотрит настройки автозапуска RegistryKey rkApp = Registry.CurrentUser.OpenSubKey(«SOFTWARE\Microsoft\Windows\CurrentVersion\Run», true); if(IsStartupItem()) // Удаляем rkApp.DeleteValue(«My app’s name», false);
- А можно еще добавить через планировщик заданий по какому-то специфическому триггеру известному лишь одному тебе 🙂
Источник: ru.stackoverflow.com