Как я устанавливаю программу для запуска при запуске

Проверьте ваш CSS шрифт для этого набора полей primeng

70
задан crashmstr 7 June 2018 в 18:29
поделиться

4 ответа

Несколько опций, в порядке предпочтения:

  1. Добавьте его к папке Startup текущего пользователя. Это требует, чтобы наименьшее количество полномочий для Вашего приложения работало и дает пользователю большую часть контроля и обратной связи того, что продолжается. Оборотная сторона, это - немного более трудное определение, показать ли, что флажок уже проверил в следующий раз, когда они просматривают тот экран в Вашей программе.
  2. Добавьте его к HKey_Current_User\Software\Microsoft\Windows\CurrentVersion\Run ключ реестра. Единственная проблема здесь - это, требует доступа для записи к реестру, который не всегда доступен.
  3. Создайте Запланированную задачу, которая включает Пользовательский Вход в систему
  4. Добавьте его к HKey_Local_Machine\Software\Microsoft\Windows\CurrentVersion\Run ключ реестра. Единственная проблема здесь - это, требует доступа для записи к реестру, который не всегда доступен.
  5. Настройте его как сервис окон. Только сделайте это, если Вы действительно имеете в виду это, и Вы знаете наверняка, что Вы хотите запустить эту программу для всех пользователей на компьютере.

Этот ответ является более старым теперь. Так как я записал это, Windows 10 был выпущен, который изменяется, как папки Start Menu работают... включая Startup папка. Мне еще не ясно, как легкий это должно просто добавить или удалить файл в той папке, также не ссылаясь на внутреннее использование базы данных Windows для этих местоположений.

103
ответ дан Joel Coehoorn 24 November 2019 в 13:12
поделиться

Благодаря всем для ответа настолько быстро. Joel, я использовал Вашу опцию 2 и добавил ключ реестра к папке "Run" текущего пользователя. Вот код, который я использовал для кого-либо еще, кому интересно.

    using Microsoft.Win32;
    private void SetStartup()
    {
        RegistryKey rk = Registry.CurrentUser.OpenSubKey
            ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);

        if (chkStartUp.Checked)
            rk.SetValue(AppName, Application.ExecutablePath);
        else
            rk.DeleteValue(AppName,false);            

    }
122
ответ дан mrid 24 November 2019 в 13:12
поделиться

Можно создать ключ реестра в "HKCU\Software\Microsoft\Windows\CurrentVersion\Run", просто знать, что он может работать по-другому над Vista. Ваша установка могла бы быть "виртуализирована" из-за контроля учётных записей.

5
ответ дан Jon Tackabury 24 November 2019 в 13:12
поделиться

Если приложение разработано для запуска, когда Windows запускается (в противоположность тому, когда пользователь входит в систему), единственная опция состоит в том, чтобы включить службу Windows. Или запишите приложение как услуга или запишите простой сервис, который существует только для запуска приложения.

Запись сервисов может быть хитрой, и может ввести ограничения, которые могут быть недопустимыми для Вашего особого случая. Один шаблон общего умысла является парой фронтенда/бэкэнда с сервисом, который делает работу и фронтенд приложения, который общается с сервисом для отображения информации пользователю.

С другой стороны, если Вы просто хотите, чтобы Ваше приложение запустилось на пользовательском входе в систему, можно использовать методы, которые перечислили 1 или 2 тех Joel Coehoorn.

3
ответ дан Harper Shelby 24 November 2019 в 13:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: