Способы автозапуска моего приложения на C# при запуске в Windows 8

В настоящее время у меня есть проблема с автозапуском приложения во время запуска в Windows 8. Я попытался поместить приложение в реестр. На самом деле я пробовал подходы как локальный компьютер, так и текущий пользователь

        RegistryKey rkHKLM = Registry.LocalMachine;
        RegistryKey rkRun;
        RegistryKey rkHKCU = Registry.CurrentUser;
        RegistryKey rkRun1;

        rkRun = rkHKLM.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);
        rkRun1 = rkHKCU.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);
        if (checkBox1.Checked)
        {
            rkRun.SetValue("MyApp", Application.ExecutablePath);
            rkRun1.SetValue("MyApp", Application.ExecutablePath);
        }
        else
        {
            rkRun.DeleteValue("MyApp");
            rkRun1.DeleteValue("MyApp");
        }

Этот метод не работает в Windows 8. Но у меня нет этой проблемы в Windows 7 или XP. Что-нибудь другое для Windows 8? Есть ли какой-то новый подход?

  • Для вашего сведения, я настроил приложение для запуска от имени администратора, но по-прежнему не запускается автоматически при запуске.

2 ответа

Добавить файл ссылки или пакетный файл в:

c: \ Users \ (имя пользователя) \AppData\Roaming\Microsoft\Windows\ Меню Пуск \ Программы \ Автозагрузка

вы могли бы заменить c:\Users\ (username) \AppData\Roaming с "%AppData%" в вашем коде

Environment.GetEnvironmentVariable("AppData");

Помещение ярлыка в:c: \ Users \ {имя для входа}\AppData\Roaming\Microsoft\Windows\ Меню Пуск \ Программы \ Запуск должен запустить приложение при входе в систему.

При желании вы можете создать задачу. Вы можете в триггере выбрать, должен ли он работать при входе в систему или при запуске компьютера.

" Task Scheduler Managed Wrapper" - это полезная библиотека для программного создания задач.

Другие вопросы по тегам