Запустить службу Windows и запустить cmd

Нужно ли мне включать интерактивный рабочий стол, чтобы он работал, и каков правильный код для запуска окна EXE или cmd? Я все еще не могу запустить службу, даже если я разрешил ей взаимодействовать с рабочим столом.

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

Что не так с моим кодом?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceProcess;
using System.Diagnostics;
using System.ComponentModel;
using System.Threading;

namespace MyNewService
{
    class Program : ServiceBase
    {
        static void Main(string[] args)
        {
        }

        public Program()
        {
            this.ServiceName = "Chatter";
        }

        protected override void OnStart(string[] args)
        {
            base.OnStart(args);

            //TODO: place your start code here
            ThreadStart starter = new ThreadStart(bw_DoWork);
            Thread t = new Thread(starter);
            t.Start();

        }

        private void bw_DoWork()
        {
            Process p = new Process();
            p.StartInfo = new ProcessStartInfo(@"C:\Windows\system32\cmd.exe");
            p.Start();
            p.WaitForExit();
            base.Stop();
        }

        protected override void OnStop()
        {
            base.OnStop();

            //TODO: clean up any variables and stop any threads
        }
    }
}
16
задан Artemix 7 May 2013 в 08:40
поделиться