Есть программа, которая прописывает себя в автозагрузку. Все работает, все отлично.
RegistryKey reg;
reg = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\", true);
reg.SetValue("PCVision", Assembly.GetExecutingAssembly().Location);
Но есть одна проблема, когда пользователь ставит и снимает компьютер со сна - программа понятным образом не запускается. так как полноценной перезагрузки системы не происходит.
Собственно вопрос, возможно кто-то из вас уже ранее стыкался с подобным и знает как правильно выйти из этой ситуации.
Сомневаюсь, что реестре есть раздел, отвечающий за это. Например, гугл молчит на запрос вида "run program after power change". Да и с трудом представляю когда бы это могло кому-нибудь понадобиться => Microsoft, скорее всего, не стали реализовывать невостребованный функционал.
Если бы это и было, то в пользовательском интерфейсе, где-нибудь рядом с местом куда добавляются программы в обычную автозагрузку.
Например, прикладная программа может поймать данные события как в этом примере:
SystemEvents.PowerModeChanged += OnPowerChange;
private void OnPowerChange(object s, PowerModeChangedEventArgs e)
{
switch ( e.Mode )
{
case PowerModes.Resume:
break;
case PowerModes.Suspend:
break;
}
}
Получается, что самое простое - это в фоне крутить какую-нибудь программку/сервис, которая слушает события изменения питания и на основании этого запускает нужный софт.
Попробуйте запустить приложение(напишите свою службу, которая будет следить, за работой приложения и когда надо запускать.), чтобы поймать событие:
Microsoft.Win32.SystemEvents.PowerModeChanged += this.SystemEvents_PowerModeChanged;
private void SystemEvents_PowerModeChanged(object sender, Microsoft.Win32.PowerModeChangedEventArgs e)
{
if (e.Mode == PowerModes.Resume)
{
//Ваш код
}
}
ну или через планировщик заданий , триггер на следующее событие:
Журнал Microsoft-Windows-Diagnostics-Performance
Источник Diagnostics-Performance
Код события 300
или же на "At Workstation Unlock"
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости