Подтвердить что ты не робот

Как запустить exe при запуске Windows

Возможный дубликат:
Как поместить exe файл в Windows Startup

Предположим, что я создал приложение на С#. После его установки я хочу, чтобы он запускался в фоновом режиме при каждом запуске Windows, или вы можете сказать, что пользователь входит в свою учетную запись Windows. Есть ли способ сделать это? Кроме написания службы Windows?

Приложение в основном показывает сообщения при срабатывании определенного события Благодаря

4b9b3361

Ответ 1

Добавить в ярлык к папке запуска Windows:

Environment.GetFolderPath(Environment.SpecialFolder.Startup)

Или добавьте в реестр что-то вроде этого:

RegistryKey add = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
add.SetValue("Your App Name", "\"" + Application.ExecutablePath.ToString() + "\"");

Вы можете изменить CurrentUser на LocalMachine, если вы хотите, чтобы он запускался с каждым пользователем. Благодаря Айдиакапи.

Ответ 2

Это можно сделать с помощью реестра Windows. Я рекомендую вам проверить этот раздел реестра.

HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnceEx 

Ответ 3

Вы можете добавить свое приложение в реестр для запуска при запуске

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
или
HKEY_CURREN_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

или вы можете добавить его в папку автозагрузки для системы.

Это, вероятно, наиболее распространенные/самые простые варианты, если вы не хотите писать службу.

Ответ 4

Вам нужно настроить новый ключ в реестре, указывающий на ваш исполняемый файл.

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

Дополнительная информация в этой ссылке http://msdn.microsoft.com/en-us/library/aa376977 (v = vs .85).aspx

Ответ 5

Самый простой способ - поместить его или ярлык в него в %userprofile%\Start Menu\Programs\Startupdirectory или %allusersprofile%\Start Menu\Programs\Startup

Также будут отображаться ключи реестра HKLM\Software\Microsoft\Windows\CurrentVersion\Run (все пользователи) и HKCU\Software\Microsoft\Windows\CurrentVersion\Run (только текущий пользователь).

Установка его как службы часто является хорошим подходом, но не если вы собираетесь быть интерактивным, как вы говорите.

Ответ 6

Вы можете записать Path в исполняемый файл в Registry

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

И он будет выполняться каждый раз при запуске окон.

Ответ 7

Вы можете поместить ярлык в приложение в C:\Users\@[email protected]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup.

Используете ли вы проект установки Visual Studio? Если да, вы можете установить ярлык непосредственно оттуда.

Ответ 8

Ну, это действительно звучит так, будто вы должны использовать "службу Windows".

Существуют и другие варианты, такие как включение ярлыка EXE в папку "Запуск" в меню "Программы" ( "Все пользователи", если вы хотите, чтобы он запускался для всех пользователей в этой системе).

Другой вариант - использовать реестр Windows. Вы можете добавить запись в "Run", которая указывает на exe:

* HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
* HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
* HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
* HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce

Ответ 9

Поскольку никто не упомянул об этом, я укажу, что вы также можете достичь этого, используя запланированную задачу, которая запускает "При запуске системы". Тем не менее, я не пробовал это с помощью приложения, которое требует взаимодействия с пользовательским интерфейсом - оно работает для фонового процесса, но я подозреваю, что он не будет работать с чем-то, что требует контекста рабочего стола (поскольку он не существует до тех пор, пока пользователь не войдет в систему - далее).