Способы автозапуска моего приложения на 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" - это полезная библиотека для программного создания задач.