Member 12938546 Ответов: 2

Я хочу правильный пример запуска как запустить exe из службы windows


Мне нужен правильный запускаемый пример с кодом, который запускает мой exe-файл из службы windows
когда я запускаю службу из служб, которые запускают exe, она отображается в процессе диспетчера задач, но я хочу, чтобы при запуске этой службы она показывала всплывающее окно формы заявки

Пожалуйста пример в vb это так хорошо




ниже приведен код запуска но он показывает exe на вкладке Процессы но я хочу запустить этот exe непосредственно при запуске служб





заранее спасибо

Что я уже пробовал:

public partial class Service1 : ServiceBase
   {
       public Service1()
       {
           InitializeComponent();
       }

       protected override void OnStart(string[] args)
       {
           BackgroundWorker bw = new BackgroundWorker();
           bw.DoWork += new DoWorkEventHandler(bw_DoWork);
           bw.RunWorkerAsync();


       }

       protected override void OnStop()
       {
           Process p = new Process();
           p.Kill();
       }

       private void bw_DoWork(object sender, DoWorkEventArgs e)
       {
           Process p = new Process();
           p.StartInfo = new ProcessStartInfo("WindowsStartUpApp.exe");
           p.Start();
           p.WaitForExit();
           base.Stop();
       }
   }

2 Ответов

Рейтинг:
2

RickZeeland

Вы могли бы попробовать TopShelf, хотя я не знаю, как работает поддержка VB: Легко создавайте службы Windows с помощью Topshelf - Visual Studio Magazine[^]


Рейтинг:
1

OriginalGriff

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

Сказав Это, можно: .net-как я могу запустить EXE-программу из службы Windows с помощью C#? - переполнение стека[^]- но не ожидайте, что это сработает в будущей версии ОС (или даже в Win 10, я еще не пробовал).

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


Rob Philpott

Мудрые слова.

Member 12938546

получил решение ученый....!