Я создал службу Windows, которая должна открывать и запускать приложение ABC.exe. Я знаю, что это плохая практика, чтобы сделать это, а не downvote по этой причине, потому что у меня нет другого варианта на данный момент. Я много исследовал об этом и выяснил, как работает интерактивный интерфейс. Я использовал эту ссылку: https://code.msdn.microsoft.com/windowsapps/CSCreateProcessAsUserFromSe-b682134e , но проблема, с которой я сейчас сталкиваюсь, - это вручную установить локальную учетную запись системы и установить флажок «Разрешить службу» взаимодействовать с Desktop ". все, что я хочу сделать прямо сейчас, устанавливается по умолчанию на момент установки. поэтому, когда пользователь устанавливает службу, он должен быть уже проверен, и служба должна находиться в запущенном состоянии (не нужно вручную запускать сервис-я сделаю с этой частью). Я видел некоторые подобные сообщения здесь, но все они показывают способ запуска службы из внешнего приложения, например создание другого консольного приложения и использование system.management.managementобъекта. Я хочу знать, есть ли способ добавить код в самом сервисе и где его добавить? ps .: Я создаю эту службу для систем Windows Vista +.Как сохранить «Разрешить службу для взаимодействия с рабочим столом», установленную по умолчанию во время установки службы Windows.
, пожалуйста, помогите, поскольку я давно застрял в этой проблеме. Заранее спасибо.
Как устанавливается ваша служба? С классом 'ServiceInstaller'? – zaitsman
есть. У меня есть класс установщика проекта, в котором у меня есть метод с именем afterinstall, в котором я написал код, чтобы запустить его автоматически. –
дубликат http://stackoverflow.com/questions/4237225/allow-service-to-interact-with-desktop-in-windows? –