Сервис против процесса - PullRequest
       19

Сервис против процесса

2 голосов
/ 26 февраля 2012

Если вы хотите, чтобы приложения с повышенными правами UAC запускались при запуске Windows, вам нужен сервис. Но приложения-службы не имеют определенных функций, таких как создание MessageBoxes или выполнение других файлов. Вопрос заключается в следующем: как мне создать автозагрузку приложения с повышением UAC И возможностью использовать графический интерфейс и Process.Start ()?

Ответы [ 4 ]

2 голосов
/ 26 февраля 2012

У меня тоже была эта проблема. Как уже упоминалось в IDWMaster, решение заключается в использовании планировщика задач Windows. Не думайте, что это дешевый вариант - я бы сказал, что это лучше, чем услуга. Довольно много программ используют Планировщик заданий Windows для выполнения административных задач. Зачем? Сервисы, как вы хорошо знаете, не могут так хорошо взаимодействовать с рабочим столом - если вы, например, создали глобальный хук клавиатуры в сервисе, он не будет захватывать клавиши. Почему не нормальные ключи запуска реестра? Потому что, как вы также хорошо знаете, программы, требующие прав администратора, не могут автоматически запускаться от имени администратора с помощью ключей запуска реестра. Использование планировщика заданий Windows решает все эти проблемы.

Вот отличная библиотека, с которой приятно работать с планировщиком задач Windows в C #: http://taskscheduler.codeplex.com/

1 голос
/ 26 февраля 2012

Вы можете использовать NSSM , чтобы создать службу-заглушку для запуска любого приложения.

1 голос
/ 26 февраля 2012

Вы можете использовать планировщик заданий, а при настройке нового задания на вкладке «Общие» вы можете выбрать пользователя, включая администратора, а также «запускать с наивысшими привилегиями». На вкладке «Триггер» выберите «При запуске».

0 голосов
/ 26 февраля 2012

Используйте планировщик заданий, чтобы запланировать выполнение задачи, когда пользователь входит в систему в интерактивном режиме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...