Как добавить программу на си в автозагрузку

Всем привет.
Как добавить программу на Си в автозагрузку?
И еще: как искать информацию на ответы по Си, если я пишу в гугле «Си как добавить программу в автозагрузку», но везде появляется только С++? Нереально найти ответ.
Пишу на Windows с gcc.

  • Вопрос задан более трёх лет назад
  • 144 просмотра

Комментировать
Решения вопроса 2

Как добавить программу на Си в автозагрузку Windows?

Так же как и на любом другом языке — прописав её в соответствующий ключ реестра.

И еще: как искать информацию на ответы по Си, если я пишу в гугле «Си как добавить программу в автозагрузку», но везде появляется только С++? Нереально найти ответ.

Потому что ты задаёшь неправильный вопрос. Язык — это способ делать действия, а не сами действия. Добавить программу в автозагрузку можно через реестр. Писать в реестр можно через winapi. Справка по winapi есть тут.

Ответ написан более трёх лет назад
Комментировать
Нравится 3 Комментировать

Visual C#. Добавление в автозагрузку. Урок 14

CityCat4

Жил-был у бабушки серенький троллик.

Так же как и любую другую. Или вопрос надо понимать так — как в программе на С добавить другую программу в автозагрузку? На чистом С в винде писать — это нечто вроде мазохизма 🙂 Можно и не запрещено, конечно.

Источник: 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

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru