как запустить приложение автоматически после перезагрузки?
Как я могу запустить приложение автоматически после перезагрузки? (по коду 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");
}