Запуск моего приложения с помощью метода Windows RunOnce

Запуск моего приложения с помощью метода Windows RunOnce

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

Описанный выше подход работает хорошо, за исключением одного: я не могу отобразить рабочий стол этим методом, пока установка не будет завершена и она не будет закрыта.

Я думаю, что это поведение по умолчанию для метода RunOnce. Хотелось бы это подтвердить, и если потребуется, я могу использовать ключ Runinstead RunOnceи удалить запись оттуда, как только моя работа будет выполнена. Есть ли другой способ поиграться с RunOnceключом?

решение1

Ответ: мне нужно использовать метод RunOnce HKCU вместо HKLM. Порядок, в котором Windows выполняет записи запуска, следующий:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices

<Logon Prompt>

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

Папка автозагрузки

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce

Ссылка:ИНФОРМАЦИЯ: Run, RunOnce, RunServices, RunServicesOnce и Startup

Связанный контент