Запустите программу Windows Form при запуске - PullRequest
0 голосов
/ 28 августа 2018

Я использую приведенный ниже код для запуска моей программы при запуске:

RegistryKey rk = Registry.CurrentUser.OpenSubKey
    ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);

    rk.SetValue(AppName, Application.ExecutablePath);

но при запуске моего проекта эта ошибка происходит:

System.UnauthorizedAccessException: 'Попытка выполнить несанкционированную операцию.'

1 Ответ

0 голосов
/ 28 августа 2018

Эта проблема возникла очень давно.

сначала вам нужно установить реестр в HKCU\Software\Microsoft\Windows\CurrentVersion\Run , убедитесь, что у вас достаточно разрешений! :

        using (RegistryKey key = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true))
        {
            key.SetValue(AppName, Application.ExecutablePath);
        }

Затем следуйте инструкциям из этого сообщения:

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