Всем привет.
Как добавить программу на Си в автозагрузку?
И еще: как искать информацию на ответы по Си, если я пишу в гугле «Си как добавить программу в автозагрузку», но везде появляется только С++? Нереально найти ответ.
Пишу на Windows с gcc.
- Вопрос задан более трёх лет назад
- 144 просмотра
Комментировать
Решения вопроса 2
Как добавить программу на Си в автозагрузку Windows?
Так же как и на любом другом языке — прописав её в соответствующий ключ реестра.
И еще: как искать информацию на ответы по Си, если я пишу в гугле «Си как добавить программу в автозагрузку», но везде появляется только С++? Нереально найти ответ.
Потому что ты задаёшь неправильный вопрос. Язык — это способ делать действия, а не сами действия. Добавить программу в автозагрузку можно через реестр. Писать в реестр можно через winapi. Справка по winapi есть тут.
Ответ написан более трёх лет назад
Комментировать
Нравится 3 Комментировать
Visual C#. Добавление в автозагрузку. Урок 14
Жил-был у бабушки серенький троллик.
Так же как и любую другую. Или вопрос надо понимать так — как в программе на С добавить другую программу в автозагрузку? На чистом С в винде писать — это нечто вроде мазохизма 🙂 Можно и не запрещено, конечно.
Источник: qna.habr.com
При написании некоторых программ, иногда требуется добавить в них функционал для добавления приложения в автозапуск системы. Пользователю будет намного удобнее и проще поставить галочку в настройках программы, вместо того, чтобы самому запускать редактор реестра и прописывать необходимые параметры.
Немного теории
Я надеюсь, что все знают как добавить вручную приложение в автозапуск через редактор реестра. Перед тем как писать код, нужно четко представлять, как это делается вручную.
Итак, запускаем стандартное приложение ОС для работы с реестром. Это должны знать все, но все же чтобы это смог сделать каждый кратко опишу. Либо C:Windowsregedit.exe, либо Пуск -> Выполнить, написать в поле regedit, нажать ОК.
Открылся редактор реестра. Переходим по ветке HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun
Раздел Run содержит строковые параметры которые содержат пути к запускаемым приложениям. Т.е. если создать строковый параметр а в качестве его значения написать полный путь до программы, то при запуске ОС это приложение автоматически запустится.
Практика
Итак, все то что я описал выше, нужно будет реализовать программно.
Код предельно прост. Опишем константу, в которой будет имя создаваемого параметра в разделе Run
const string name = «MyTestApplication»;
Далее нужно добавить пространство имен. В нем содержатся класс RegistryKey для работы с реестром.
Как добавить программу в автозагрузку в Windows10
using Microsoft.Win32;
Теперь напишем функцию, которая будет получать параметр типа bool. Если передадим True то приложение добавится в автозагрузку, иначе удалится.
public bool SetAutorunValue(bool autorun) < string ExePath = System.Windows.Forms.Application.ExecutablePath; RegistryKey reg; reg = Registry.CurrentUser.CreateSubKey(«Software\Microsoft\Windows\CurrentVersion\Run\»); try < if (autorun) reg.SetValue(name, ExePath); else reg.DeleteValue(name); reg.Close(); > catch < return false; > return true; >
Теперь о том как это работает. Сначала в переменную ExePath получаем путь до исполняемого файла приложения. Затем создаем класс RegistryKey и переходим к разделу Run. Дальше производим анализ переданного в функцию параметра autorun. Если true, то нужно будет создать параметр с именем name и значением ExePath.
Тем самым при запуске Windows, приложение будет запускаться. Если autorun = false, то нужно будет просто удалить параметр с именем name. После этого нужно будет вызвать метод Close(), для того чтобы закрыть раздел и записать его на диск.
Функция возвращает True в случае успешного добавления программы в автозагрузку и False в случае ошибки.
Осталось только вызвать функцию SetAutorunValue(). Например, выложите 2 кнопки на форму. При нажатии на одну выполните код
SetAutorunValue(true);
При нажатии на другую
SetAutorunValue(false);
Таким образом, одна кнопка будет добавлять в автозагрузку, другая убирать из автозагрузки программу.
Источник: www.techweek.ru
Как добавить программу в автозапуск?
Самый простой способ это разместить ярлык своей программы в одну из папок:
1. Для всех пользователей, включая администратора:
C:Documents and SettingsAll UsersГлавное менюПрограммыАвтозагрузка
2. Только для администратора:
C:Documents and SettingsАдминистраторГлавное менюПрограммыАвтозагрузка
3. Для определенного пользователя:
C:Documents and SettingsИмя пользователяГлавное менюПрограммыАвтозагрузка
Если это требуется сделать программно, то можно воспользоваться одним из приведенных ниже кодов:
HKEY hg; RegOpenKeyEx(HKEY_CURRENT_USER, «SOFTWARE\Microsoft\Windows\CurrentVersion\Run»,0,KEY_ALL_ACCESS, RegSetValueEx(hg,»Краткое название программы или имя ключа»,0,REG_SZ,»путь к программе»,длина пути к файлу); RegCloseKey(hg);
HKEY hg; RegOpenKeyEx(HKEY_LOCAL_MACHINE,»SOFTWARE\Microsoft\Windows\CurrentVersion\Run»,0,KEY_ALL_ACCESS, RegSetValueEx(hg,»Краткое название программы или имя ключа»,0,REG_SZ,»путь к программе»,длина пути к файлу); RegCloseKey(hg);
Источник: cubook.pro