Запускать приложение автоматически, когда система возвращается из спящего режима - PullRequest
0 голосов
/ 03 мая 2018

Я хочу, чтобы мое приложение запускалось автоматически для всех пользователей, всякий раз, когда система запускается из выключенного состояния или из спящего режима (я не хочу, чтобы пользователь вручную нажимал на значок exe для запуска приложения). Например, если одна и та же система используется двумя пользователями, она должна работать для обоих пользователей.

Я попробовал следующее, но это не работает для всех пользователей, а также для запуска из спящего режима:

  1. Я добавил ярлык exec в оболочку: запуск
  2. Я также использую код пакетного файла, такой как REG ADD HKLM \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows \ CurrentVersion \ Run / v JApp / t REG_SZ / d / h "% ~ MoodOMeter.exe" Теперь проблема, с которой я сталкиваюсь, заключается в том, что она работает только для текущего пользователя, т.е. если она регистрируется в папке запуска по идентификатору пользователя 1, то она не будет работать для идентификатора пользователя 2, и последнее, что не работает, это то, что если система запускается из спящего режима, то она не будет запустить автоматически может кто-нибудь помочь мне с этой проблемой

1 Ответ

0 голосов
/ 04 мая 2018

Вы можете использовать Task Scheduler для запуска действия при возобновлении работы системы .

Но у Task Scheduler есть свои ограничения (в контексте вашего вопроса).

Вы можете настроить задачу в двух режимах:

  • Для конкретной учетной записи с «Запускать, вне зависимости от того, вошел пользователь в систему или нет» . Для этого вам нужно знать пароль какой-либо локальной учетной записи. И задача будет выполняться с правами этой учетной записи, а не с правами зарегистрированной учетной записи. Это было бы проблемой, если вам нужно записать файлы или реестр в профиле пользователя. Не говоря уже о том, что одновременно может быть зарегистрировано несколько пользователей (задача будет выполняться только для одного из них).

  • С параметром «Запускать при входе пользователя в систему» ​​ вам не понадобится пароль, и задача запускается с правильными привилегиями, но только для учетной записи, которая создала задачу. Поэтому, если вы создадите задачу в программе установки, она будет выполнена только для учетной записи, которая запускает программу установки. Чтобы решить эту проблему, вы можете заставить приложение самостоятельно создавать задачу, когда она выполняется (а задача еще не существует).

Если вышеуказанное ограничение в порядке, значит, это решение.


Другой способ - поддерживать приложение в фоновом режиме и контролировать систему, чтобы запускать нужные действия при возобновлении.

...