как запустить приложение автоматически после перезагрузки?

Как я могу запустить приложение автоматически после перезагрузки? (по коду c#) я создаю новую строку в разделе "runOnce" в реестре с путем приложения. ОС запустить это приложение, прежде чем загрузить ОС моя проблема: мое приложение загружается, но explorer не загружается, после закрытия приложения explorer загружается Я перезагружаю компьютер в приложении, и после перезагрузки я хочу, чтобы мое приложение снова открылось

3 ответов


при нажатии кнопки Перезапустить из приложения внесите следующие изменения в реестр:

создать запись в HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run ветку реестра.

использовать

Registry.LocalMachine.CreateSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run\YourAppName");

создать учетную запись.

и

RegistryKey myKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run\YourAppName", true);

myKey.SetValue("YourAppName", "AppExecutablePath", RegistryValueKind.String);

прописать путь запуска.

после перезагрузки системы ваше приложение запускается и удаляет запись перезапуска, вызывая это:

Registry.LocalMachine.DeleteSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run\YourAppName");

Кажется, что лучше всего было бы добавить вашу программу в RunOnce, а не запускать. Таким образом, он будет запущен после следующей перезагрузки, но вам не придется беспокоиться об удалении ключа после этого.

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce

Это лучший ответ, так как вы не должны создавать подраздел. Также это будет автоматически утилизировать.

string runKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Run";

using (RegistryKey key = Registry.LocalMachine.OpenSubKey(runKey, true))
{
    key.SetValue("MyProgram", @"C:\MyProgram.exe");
}