Как запустить программу с правами администратора при запуске и свернуть ее в трей?

Мне нравится, когда Process Explorer работает постоянно. Мне особенно нравится использовать его для отображения нескольких статистических данных (например: графики использования CPU, RAM, Network, GPU) в системном трее. Однако для некоторых из этих значков в трее (а также для других функций Process Explorer, которые мне нравятся удобные) требуются разрешения администратора для запуска.

Я попытался настроить Process Explorer для запуска в качестве администратора при запуске и свернуть в системный трей, настроив следующее:

  • В Process Explorer
    • Скрыть, когда свернуто
    • Разрешить только один экземпляр

  • Ярлык в меню "Пуск" -> "Программы" -> "Автозагрузка"
    • Выполнить: свернуто
    • Дополнительно: запуск от имени администратора

Однако это вызывает одно из следующих:

  • Process Explorer не запускается при запуске.
  • Process Explorer будет запущен при запуске, но потребует ответа UAC.
  • Process Explorer будет запускаться при запуске без приглашения UAC, но без прав администратора.

Мое идеальное решение привело бы к:

  • Process Explorer запускается при запуске с правами администратора.
  • Ответ UAC не требуется для запуска Process Explorer при запуске.
  • При запуске Process Explorer будет свернут в системный трей.
  • UAC может оставаться установленным в "Всегда уведомлять" и "Запрашивать учетные данные".
  • Никаких дополнительных установок программного обеспечения не требуется.

Это возможно?

3 ответа

Вы можете создать задачу в планировщике задач Windows, в которой вы запустите команду procxp.exe и обязательно отметите "Запускать с наивысшими привилегиями" на вкладке "Общие", чтобы запустить ее в режиме администратора. На вкладке триггера необходимо определить задачу для запуска "При входе в систему".

Это запустит команду с правами администратора при запуске без запроса проверки UAC.

Чтобы убедиться, что Process Explorer начинает сворачиваться в трей, вы должны использовать ключ командной строки /t в качестве аргумента команды, когда добавляете ее на вкладку действия запланированной задачи.

Это больше деталей для сути Ответа @Per Salmi, в этом отдельном Ответе, поскольку было бы слишком много для комментария на его Ответ...

  • Следуйте повышенным ярлыкам программы без запроса UAC
  • Это удовлетворяет всем требованиям этого вопроса, за исключением: "При запуске Process Explorer будет свернут в системный трей"
    • Я не уверен, что это не сработало только в особом случае моей попытки с помощью диспетчера задач (Taskmgr.exe) вместо Process Explorer, как и в п. 5. здесь, где, возможно, он может работать вместо других программ...
      • Хотелось бы услышать, если кто-то придумает решение для этой части специально для диспетчера задач!
      • Обходной путь в диспетчере задач: Параметры -> Скрыть при сворачивании. Затем при запуске, его минимизация один раз дает желаемую минимизацию лотка. Конечно, было бы неплохо, чтобы минимизация была автоматической, но именно поэтому это обходной путь.

Я делаю что-то подобное:

  • Ярлык в меню "Пуск" → "Программы" → "Автозагрузка"
    • Для того, чтобы: SCRIPT1.BAT


  • SCRIPT1.BAT
    FRED / c SCRIPT2.BAT


  • FRED.EXE
    • Является копией CMD.EXE
    • Совместимость: Запустите эту программу от имени администратора.


  • SCRIPT2.BAT
    • запускает команду (ы) от имени администратора, без системного диалога

Все файлы (FRED.EXE, SCRIPT1.BAT, а также SCRIPT2.BAT) находятся в bin подкаталог) мой домашний каталог.

Сейчас я выбираю, чтобы мои окна были видны - я хочу видеть результаты команд. Но я предполагаю, что мог бы использовать "Run: Minimized" и, возможно, START /MIN держать вещи за пределами экрана (в панели задач).

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

Другие вопросы по тегам