使用C#建立WINDOWS服务

1、创建WINDOWS服务代码

  1使用C#建立WINDOWS服务using System;
  2使用C#建立WINDOWS服务using System.IO ;
  3使用C#建立WINDOWS服务using System.Collections;
  4使用C#建立WINDOWS服务using System.ComponentModel;
  5使用C#建立WINDOWS服务using System.Data;
  6使用C#建立WINDOWS服务using System.Diagnostics;
  7使用C#建立WINDOWS服务using System.ServiceProcess;
  8使用C#建立WINDOWS服务
  9使用C#建立WINDOWS服务namespace MyService
 10使用C#建立WINDOWS服务使用C#建立WINDOWS服务使用C#建立WINDOWS服务{
 11使用C#建立WINDOWS服务    public class MyServiceTest : System.ServiceProcess.ServiceBase
 12使用C#建立WINDOWS服务使用C#建立WINDOWS服务    使用C#建立WINDOWS服务{
 13使用C#建立WINDOWS服务        private System.Diagnostics.EventLog eventLog1;
 14使用C#建立WINDOWS服务        private System.Diagnostics.PerformanceCounter performanceCounter2;
 15使用C#建立WINDOWS服务使用C#建立WINDOWS服务        /**//// <summary> 
 16使用C#建立WINDOWS服务        /// 必需的设计器变量。
 17使用C#建立WINDOWS服务        /// </summary>

 18使用C#建立WINDOWS服务        private System.ComponentModel.Container components = null;
 19使用C#建立WINDOWS服务
 20使用C#建立WINDOWS服务        public MyServiceTest()
 21使用C#建立WINDOWS服务使用C#建立WINDOWS服务        使用C#建立WINDOWS服务{
 22使用C#建立WINDOWS服务            // 该调用是 Windows.Forms 组件设计器所必需的。
 23使用C#建立WINDOWS服务            InitializeComponent();
 24使用C#建立WINDOWS服务
 25使用C#建立WINDOWS服务            // TODO: 在 InitComponent 调用后添加任何初始化
 26使用C#建立WINDOWS服务        }

 27使用C#建立WINDOWS服务
 28使用C#建立WINDOWS服务        // 进程的主入口点
 29使用C#建立WINDOWS服务        static void Main()
 30使用C#建立WINDOWS服务使用C#建立WINDOWS服务        使用C#建立WINDOWS服务{
 31使用C#建立WINDOWS服务            System.ServiceProcess.ServiceBase[] ServicesToRun;
 32使用C#建立WINDOWS服务    
 33使用C#建立WINDOWS服务            // 同一进程中可以运行多个用户服务。若要将
 34使用C#建立WINDOWS服务            //另一个服务添加到此进程,请更改下行
 35使用C#建立WINDOWS服务            // 以创建另一个服务对象。例如,
 36使用C#建立WINDOWS服务            //
 37使用C#建立WINDOWS服务            //   ServicesToRun = New System.ServiceProcess.ServiceBase[] {new Service1(), new MySecondUserService()};
 38使用C#建立WINDOWS服务            //
 39使用C#建立WINDOWS服务使用C#建立WINDOWS服务            ServicesToRun = new System.ServiceProcess.ServiceBase[] 使用C#建立WINDOWS服务new MyServiceTest() };
 40使用C#建立WINDOWS服务
 41使用C#建立WINDOWS服务            System.ServiceProcess.ServiceBase.Run(ServicesToRun);
 42使用C#建立WINDOWS服务        }

 43使用C#建立WINDOWS服务
 44使用C#建立WINDOWS服务使用C#建立WINDOWS服务        /**//// <summary> 
 45使用C#建立WINDOWS服务        /// 设计器支持所需的方法 - 不要使用代码编辑器 
 46使用C#建立WINDOWS服务        /// 修改此方法的内容。
 47使用C#建立WINDOWS服务        /// </summary>

 48使用C#建立WINDOWS服务        private void InitializeComponent()
 49使用C#建立WINDOWS服务使用C#建立WINDOWS服务        使用C#建立WINDOWS服务{
 50使用C#建立WINDOWS服务            this.eventLog1 = new System.Diagnostics.EventLog();
 51使用C#建立WINDOWS服务            this.performanceCounter2 = new System.Diagnostics.PerformanceCounter();
 52使用C#建立WINDOWS服务            ((System.ComponentModel.ISupportInitialize)(this.eventLog1)).BeginInit();
 53使用C#建立WINDOWS服务            ((System.ComponentModel.ISupportInitialize)(this.performanceCounter2)).BeginInit();
 54使用C#建立WINDOWS服务            // 
 55使用C#建立WINDOWS服务            // eventLog1
 56使用C#建立WINDOWS服务            // 
 57使用C#建立WINDOWS服务            this.eventLog1.Log = "MyServiceLog2";
 58使用C#建立WINDOWS服务            this.eventLog1.Source = "MyService2";
 59使用C#建立WINDOWS服务            // 
 60使用C#建立WINDOWS服务            // performanceCounter2
 61使用C#建立WINDOWS服务            // 
 62使用C#建立WINDOWS服务            this.performanceCounter2.CategoryName = "MyTestCount";
 63使用C#建立WINDOWS服务            this.performanceCounter2.CounterName = "RunCount";
 64使用C#建立WINDOWS服务            this.performanceCounter2.MachineName = "zxd";
 65使用C#建立WINDOWS服务            // 
 66使用C#建立WINDOWS服务            // MyServiceTest
 67使用C#建立WINDOWS服务            // 
 68使用C#建立WINDOWS服务            this.AutoLog = false;
 69使用C#建立WINDOWS服务            this.CanPauseAndContinue = true;
 70使用C#建立WINDOWS服务            this.ServiceName = "MyServiceTest";
 71使用C#建立WINDOWS服务            ((System.ComponentModel.ISupportInitialize)(this.eventLog1)).EndInit();
 72使用C#建立WINDOWS服务            ((System.ComponentModel.ISupportInitialize)(this.performanceCounter2)).EndInit();
 73使用C#建立WINDOWS服务
 74使用C#建立WINDOWS服务        }

 75使用C#建立WINDOWS服务
 76使用C#建立WINDOWS服务使用C#建立WINDOWS服务        /**//// <summary>
 77使用C#建立WINDOWS服务        /// 清理所有正在使用的资源。
 78使用C#建立WINDOWS服务        /// </summary>

 79使用C#建立WINDOWS服务        protected override void Dispose( bool disposing )
 80使用C#建立WINDOWS服务使用C#建立WINDOWS服务        使用C#建立WINDOWS服务{
 81使用C#建立WINDOWS服务            if( disposing )
 82使用C#建立WINDOWS服务使用C#建立WINDOWS服务            使用C#建立WINDOWS服务{
 83使用C#建立WINDOWS服务                if (components != null
 84使用C#建立WINDOWS服务使用C#建立WINDOWS服务                使用C#建立WINDOWS服务{
 85使用C#建立WINDOWS服务                    components.Dispose();
 86使用C#建立WINDOWS服务                }

 87使用C#建立WINDOWS服务            }

 88使用C#建立WINDOWS服务            base.Dispose( disposing );
 89使用C#建立WINDOWS服务        }

 90使用C#建立WINDOWS服务
 91使用C#建立WINDOWS服务使用C#建立WINDOWS服务        /**//// <summary>
 92使用C#建立WINDOWS服务        /// 设置具体的操作,以便服务可以执行它的工作。
 93使用C#建立WINDOWS服务        /// </summary>

 94使用C#建立WINDOWS服务        protected override void OnStart(string[] args)
 95使用C#建立WINDOWS服务使用C#建立WINDOWS服务        使用C#建立WINDOWS服务{
 96使用C#建立WINDOWS服务            // TODO: 在此处添加代码以启动服务。
 97使用C#建立WINDOWS服务
 98使用C#建立WINDOWS服务            createlog();
 99使用C#建立WINDOWS服务            performanceCounter2.IncrementBy(2);
100使用C#建立WINDOWS服务
101使用C#建立WINDOWS服务            eventLog1.WriteEntry("My service started ("+performanceCounter2.RawValue.ToString()+")",EventLogEntryType.Information );
102使用C#建立WINDOWS服务
103使用C#建立WINDOWS服务            string fname=@"c:\myservice_test.txt";
104使用C#建立WINDOWS服务
105使用C#建立WINDOWS服务            FileStream fs=new FileStream(fname,
106使用C#建立WINDOWS服务                (File.Exists(fname))?FileMode.Append:FileMode.Create,
107使用C#建立WINDOWS服务                FileAccess.Write);
108使用C#建立WINDOWS服务
109使用C#建立WINDOWS服务            StreamWriter sw=new StreamWriter(fs);
110使用C#建立WINDOWS服务            //sw.a
111使用C#建立WINDOWS服务            sw.WriteLine("My service start:"+DateTime.Now.ToString());
112使用C#建立WINDOWS服务            sw.Close();
113使用C#建立WINDOWS服务            fs.Close();
114使用C#建立WINDOWS服务        }

115使用C#建立WINDOWS服务 
116使用C#建立WINDOWS服务使用C#建立WINDOWS服务        /**//// <summary>
117使用C#建立WINDOWS服务        /// 停止此服务。
118使用C#建立WINDOWS服务        /// </summary>

119使用C#建立WINDOWS服务        protected override void OnStop()
120使用C#建立WINDOWS服务使用C#建立WINDOWS服务        使用C#建立WINDOWS服务{
121使用C#建立WINDOWS服务            // TODO: 在此处添加代码以执行停止服务所需的关闭操作。
122使用C#建立WINDOWS服务            createlog();
123使用C#建立WINDOWS服务            eventLog1.WriteEntry("My service stoped",EventLogEntryType.Information );
124使用C#建立WINDOWS服务
125使用C#建立WINDOWS服务            string fname=@"c:\myservice_test.txt";
126使用C#建立WINDOWS服务
127使用C#建立WINDOWS服务            FileStream fs=new FileStream(fname,
128使用C#建立WINDOWS服务                (File.Exists(fname))?FileMode.Append:FileMode.Create,
129使用C#建立WINDOWS服务                FileAccess.Write);
130使用C#建立WINDOWS服务
131使用C#建立WINDOWS服务            StreamWriter sw=new StreamWriter(fs);
132使用C#建立WINDOWS服务            sw.WriteLine("My service stop:"+DateTime.Now.ToString());
133使用C#建立WINDOWS服务            sw.Close();
134使用C#建立WINDOWS服务            fs.Close();
135使用C#建立WINDOWS服务        }

136使用C#建立WINDOWS服务使用C#建立WINDOWS服务        private void createlog()使用C#建立WINDOWS服务{
137使用C#建立WINDOWS服务//            if (EventLog.SourceExists("MyServicelog2")){
138使用C#建立WINDOWS服务//                EventLog.CreateEventSource("MyService2","MyServicelog2");
139使用C#建立WINDOWS服务//            }
140使用C#建立WINDOWS服务//            eventLog1.Source ="MyServiceTest";
141使用C#建立WINDOWS服务            //这里获得的经验,当我添加应用程序日志测试成功后。我尝试添加自定义日志
142使用C#建立WINDOWS服务            //结果总是提示已存在MyService源,原来只要日志中写入过这个源名称
143使用C#建立WINDOWS服务            //就不能在自定义日志分类中使用此源
144使用C#建立WINDOWS服务            //另外上述注释掉的代码是手动编码添加自定义源,现在则在设计器中完成
145使用C#建立WINDOWS服务        }

146使用C#建立WINDOWS服务    
147使用C#建立WINDOWS服务        protected override void OnCustomCommand(int command)
148使用C#建立WINDOWS服务使用C#建立WINDOWS服务        使用C#建立WINDOWS服务{
149使用C#建立WINDOWS服务            // TODO:  添加 MyServiceTest.OnCustomCommand 实现
150使用C#建立WINDOWS服务            //base.OnCustomCommand (command);
151使用C#建立WINDOWS服务            createlog();
152使用C#建立WINDOWS服务            eventLog1.WriteEntry("My service command "+command.ToString(),EventLogEntryType.Information );
153使用C#建立WINDOWS服务
154使用C#建立WINDOWS服务使用C#建立WINDOWS服务            if (command==128)使用C#建立WINDOWS服务{
155使用C#建立WINDOWS服务
156使用C#建立WINDOWS服务                string s=performanceCounter2.RawValue.ToString() ;
157使用C#建立WINDOWS服务                string fname=@"c:\myservice_test.txt";
158使用C#建立WINDOWS服务
159使用C#建立WINDOWS服务                FileStream fs=new FileStream(fname,
160使用C#建立WINDOWS服务                    (File.Exists(fname))?FileMode.Append:FileMode.Create,
161使用C#建立WINDOWS服务                    FileAccess.Write);
162使用C#建立WINDOWS服务
163使用C#建立WINDOWS服务                StreamWriter sw=new StreamWriter(fs);
164使用C#建立WINDOWS服务                sw.WriteLine("My service command:"+command.ToString()+" Return value: "+s+DateTime.Now.ToString());
165使用C#建立WINDOWS服务                sw.Close();
166使用C#建立WINDOWS服务                fs.Close();
167使用C#建立WINDOWS服务                
168使用C#建立WINDOWS服务            }

169使用C#建立WINDOWS服务        }

170使用C#建立WINDOWS服务
171使用C#建立WINDOWS服务        private void eventLog1_EntryWritten(object sender, System.Diagnostics.EntryWrittenEventArgs e)
172使用C#建立WINDOWS服务使用C#建立WINDOWS服务        使用C#建立WINDOWS服务{
173使用C#建立WINDOWS服务            //
174使用C#建立WINDOWS服务        }

175使用C#建立WINDOWS服务    }

176使用C#建立WINDOWS服务}

177使用C#建立WINDOWS服务

2、客户端
使用C#建立WINDOWS服务

  1使用C#建立WINDOWS服务using System;
  2使用C#建立WINDOWS服务using System.Drawing;
  3使用C#建立WINDOWS服务using System.Collections;
  4使用C#建立WINDOWS服务using System.ComponentModel;
  5使用C#建立WINDOWS服务using System.Windows.Forms;
  6使用C#建立WINDOWS服务using System.Data;
  7使用C#建立WINDOWS服务using System.Configuration.Install ;
  8使用C#建立WINDOWS服务using System.Diagnostics;
  9使用C#建立WINDOWS服务
 10使用C#建立WINDOWS服务
 11使用C#建立WINDOWS服务namespace XmlTest
 12使用C#建立WINDOWS服务使用C#建立WINDOWS服务使用C#建立WINDOWS服务{
 13使用C#建立WINDOWS服务使用C#建立WINDOWS服务    /**//// <summary>
 14使用C#建立WINDOWS服务    /// Form1 的摘要说明。
 15使用C#建立WINDOWS服务    /// </summary>

 16使用C#建立WINDOWS服务    public class Form1 : System.Windows.Forms.Form
 17使用C#建立WINDOWS服务使用C#建立WINDOWS服务    使用C#建立WINDOWS服务{
 18使用C#建立WINDOWS服务        private System.Windows.Forms.Button btStart;
 19使用C#建立WINDOWS服务        private System.Windows.Forms.Button btStop;
 20使用C#建立WINDOWS服务        private System.Windows.Forms.Button btInstall;
 21使用C#建立WINDOWS服务        private System.Windows.Forms.Button btUninstall;
 22使用C#建立WINDOWS服务        private System.Windows.Forms.Label label1;
 23使用C#建立WINDOWS服务        private System.Windows.Forms.Label lbstatus;
 24使用C#建立WINDOWS服务使用C#建立WINDOWS服务        /**//// <summary>
 25使用C#建立WINDOWS服务        /// 必需的设计器变量。
 26使用C#建立WINDOWS服务        /// </summary>

 27使用C#建立WINDOWS服务        private System.ComponentModel.Container components = null;
 28使用C#建立WINDOWS服务        private System.ServiceProcess.ServiceController sc=null;
 29使用C#建立WINDOWS服务        private System.Windows.Forms.Label lbflag;
 30使用C#建立WINDOWS服务        private System.ServiceProcess.ServiceControllerStatus runstatus ;
 31使用C#建立WINDOWS服务        private System.Windows.Forms.GroupBox groupBox1;
 32使用C#建立WINDOWS服务        private System.Windows.Forms.TextBox txtMsg;
 33使用C#建立WINDOWS服务        private string strerr;
 34使用C#建立WINDOWS服务        private System.Windows.Forms.OpenFileDialog openFD;
 35使用C#建立WINDOWS服务        private System.Windows.Forms.ProgressBar pBar1;
 36使用C#建立WINDOWS服务        private System.Windows.Forms.Button btPause;
 37使用C#建立WINDOWS服务        private System.Windows.Forms.Button bt128;
 38使用C#建立WINDOWS服务        private System.Windows.Forms.Button bt129;
 39使用C#建立WINDOWS服务        private bool installstatus=false;
 40使用C#建立WINDOWS服务
 41使用C#建立WINDOWS服务        public Form1()
 42使用C#建立WINDOWS服务使用C#建立WINDOWS服务        使用C#建立WINDOWS服务{
 43使用C#建立WINDOWS服务            //
 44使用C#建立WINDOWS服务            // Windows 窗体设计器支持所必需的
 45使用C#建立WINDOWS服务            //
 46使用C#建立WINDOWS服务            InitializeComponent();
 47使用C#建立WINDOWS服务
 48使用C#建立WINDOWS服务            //
 49使用C#建立WINDOWS服务            // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
 50使用C#建立WINDOWS服务            //
 51使用C#建立WINDOWS服务        }

 52使用C#建立WINDOWS服务
 53使用C#建立WINDOWS服务使用C#建立WINDOWS服务        /**//// <summary>
 54使用C#建立WINDOWS服务        /// 清理所有正在使用的资源。
 55使用C#建立WINDOWS服务        /// </summary>

 56使用C#建立WINDOWS服务        protected override void Dispose( bool disposing )
 57使用C#建立WINDOWS服务使用C#建立WINDOWS服务        使用C#建立WINDOWS服务{
 58使用C#建立WINDOWS服务            if( disposing )
 59使用C#建立WINDOWS服务使用C#建立WINDOWS服务            使用C#建立WINDOWS服务{
 60使用C#建立WINDOWS服务                if (components != null
 61使用C#建立WINDOWS服务使用C#建立WINDOWS服务                使用C#建立WINDOWS服务{
 62使用C#建立WINDOWS服务                    components.Dispose();
 63使用C#建立WINDOWS服务                }

 64使用C#建立WINDOWS服务            }

 65使用C#建立WINDOWS服务            base.Dispose( disposing );
 66使用C#建立WINDOWS服务        }

 67使用C#建立WINDOWS服务
 68使用C#建立WINDOWS服务使用C#建立WINDOWS服务        Windows 窗体设计器生成的代码#region Windows 窗体设计器生成的代码
 69使用C#建立WINDOWS服务使用C#建立WINDOWS服务        /**//// <summary>
 70使用C#建立WINDOWS服务        /// 设计器支持所需的方法 - 不要使用代码编辑器修改
 71使用C#建立WINDOWS服务        /// 此方法的内容。
 72使用C#建立WINDOWS服务        /// </summary>

 73使用C#建立WINDOWS服务        private void InitializeComponent()
 74使用C#建立WINDOWS服务使用C#建立WINDOWS服务        使用C#建立WINDOWS服务{
 75使用C#建立WINDOWS服务            this.btStart = new System.Windows.Forms.Button();
 76使用C#建立WINDOWS服务            this.btStop = new System.Windows.Forms.Button();
 77使用C#建立WINDOWS服务            this.btInstall = new System.Windows.Forms.Button();
 78使用C#建立WINDOWS服务            this.btUninstall = new System.Windows.Forms.Button();
 79使用C#建立WINDOWS服务            this.label1 = new System.Windows.Forms.Label();
 80使用C#建立WINDOWS服务            this.lbflag = new System.Windows.Forms.Label();
 81使用C#建立WINDOWS服务            this.lbstatus = new System.Windows.Forms.Label();
 82使用C#建立WINDOWS服务            this.groupBox1 = new System.Windows.Forms.GroupBox();
 83使用C#建立WINDOWS服务            this.txtMsg = new System.Windows.Forms.TextBox();
 84使用C#建立WINDOWS服务            this.openFD = new System.Windows.Forms.OpenFileDialog();
 85使用C#建立WINDOWS服务            this.pBar1 = new System.Windows.Forms.ProgressBar();
 86使用C#建立WINDOWS服务            this.btPause = new System.Windows.Forms.Button();
 87使用C#建立WINDOWS服务            this.bt128 = new System.Windows.Forms.Button();
 88使用C#建立WINDOWS服务            this.bt129 = new System.Windows.Forms.Button();
 89使用C#建立WINDOWS服务            this.groupBox1.SuspendLayout();
 90使用C#建立WINDOWS服务            this.SuspendLayout();
 91使用C#建立WINDOWS服务            // 
 92使用C#建立WINDOWS服务            // btStart
 93使用C#建立WINDOWS服务            // 
 94使用C#建立WINDOWS服务            this.btStart.Font = new System.Drawing.Font("Arial"10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
 95使用C#建立WINDOWS服务            this.btStart.ForeColor = System.Drawing.Color.RoyalBlue;
 96使用C#建立WINDOWS服务            this.btStart.Location = new System.Drawing.Point(1680);
 97使用C#建立WINDOWS服务            this.btStart.Name = "btStart";
 98使用C#建立WINDOWS服务            this.btStart.TabIndex = 0;
 99使用C#建立WINDOWS服务            this.btStart.Text = "Start";
100使用C#建立WINDOWS服务            this.btStart.Click += new System.EventHandler(this.btStart_Click);
101使用C#建立WINDOWS服务            // 
102使用C#建立WINDOWS服务            // btStop
103使用C#建立WINDOWS服务            // 
104使用C#建立WINDOWS服务            this.btStop.Font = new System.Drawing.Font("Arial"10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
105使用C#建立WINDOWS服务            this.btStop.ForeColor = System.Drawing.Color.RoyalBlue;
106使用C#建立WINDOWS服务            this.btStop.Location = new System.Drawing.Point(17680);
107使用C#建立WINDOWS服务            this.btStop.Name = "btStop";
108使用C#建立WINDOWS服务            this.btStop.TabIndex = 1;
109使用C#建立WINDOWS服务            this.btStop.Text = "Stop";
110使用C#建立WINDOWS服务            this.btStop.Click += new System.EventHandler(this.btStop_Click);
111使用C#建立WINDOWS服务            // 
112使用C#建立WINDOWS服务            // btInstall
113使用C#建立WINDOWS服务            // 
114使用C#建立WINDOWS服务            this.btInstall.Font = new System.Drawing.Font("Arial"10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
115使用C#建立WINDOWS服务            this.btInstall.ForeColor = System.Drawing.Color.RoyalBlue;
116使用C#建立WINDOWS服务            this.btInstall.Location = new System.Drawing.Point(1648);
117使用C#建立WINDOWS服务            this.btInstall.Name = "btInstall";
118使用C#建立WINDOWS服务            this.btInstall.TabIndex = 2;
119使用C#建立WINDOWS服务            this.btInstall.Text = "Install";
120使用C#建立WINDOWS服务            this.btInstall.Click += new System.EventHandler(this.btInstall_Click);
121使用C#建立WINDOWS服务            // 
122使用C#建立WINDOWS服务            // btUninstall
123使用C#建立WINDOWS服务            // 
124使用C#建立WINDOWS服务            this.btUninstall.Font = new System.Drawing.Font("Arial"10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
125使用C#建立WINDOWS服务            this.btUninstall.ForeColor = System.Drawing.Color.RoyalBlue;
126使用C#建立WINDOWS服务            this.btUninstall.Location = new System.Drawing.Point(9648);
127使用C#建立WINDOWS服务            this.btUninstall.Name = "btUninstall";
128使用C#建立WINDOWS服务            this.btUninstall.TabIndex = 3;
129使用C#建立WINDOWS服务            this.btUninstall.Text = "Uninstall";
130使用C#建立WINDOWS服务            this.btUninstall.Click += new System.EventHandler(this.btUninstall_Click);
131使用C#建立WINDOWS服务            // 
132使用C#建立WINDOWS服务            // label1
133使用C#建立WINDOWS服务            // 
134使用C#建立WINDOWS服务            this.label1.Font = new System.Drawing.Font("宋体"10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));
135使用C#建立WINDOWS服务            this.label1.Location = new System.Drawing.Point(1616);
136使用C#建立WINDOWS服务            this.label1.Name = "label1";
137使用C#建立WINDOWS服务            this.label1.Size = new System.Drawing.Size(13623);
138使用C#建立WINDOWS服务            this.label1.TabIndex = 4;
139使用C#建立WINDOWS服务            this.label1.Text = "MyService Status:";
140使用C#建立WINDOWS服务            // 
141使用C#建立WINDOWS服务            // lbflag
142使用C#建立WINDOWS服务            // 
143使用C#建立WINDOWS服务            this.lbflag.Font = new System.Drawing.Font("Wingdings", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(2)));
144使用C#建立WINDOWS服务            this.lbflag.ForeColor = System.Drawing.Color.ForestGreen;
145使用C#建立WINDOWS服务            this.lbflag.Location = new System.Drawing.Point(16016);
146使用C#建立WINDOWS服务            this.lbflag.Name = "lbflag";
147使用C#建立WINDOWS服务            this.lbflag.Size = new System.Drawing.Size(1616);
148使用C#建立WINDOWS服务            this.lbflag.TabIndex = 5;
149使用C#建立WINDOWS服务            this.lbflag.Text = "v";
150使用C#建立WINDOWS服务            // 
151使用C#建立WINDOWS服务            // lbstatus
152使用C#建立WINDOWS服务            // 
153使用C#建立WINDOWS服务            this.lbstatus.Font = new System.Drawing.Font("宋体"10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));
154使用C#建立WINDOWS服务            this.lbstatus.Location = new System.Drawing.Point(18416);
155使用C#建立WINDOWS服务            this.lbstatus.Name = "lbstatus";
156使用C#建立WINDOWS服务            this.lbstatus.Size = new System.Drawing.Size(20023);
157使用C#建立WINDOWS服务            this.lbstatus.TabIndex = 6;
158使用C#建立WINDOWS服务            this.lbstatus.Text = "Running";
159使用C#建立WINDOWS服务            // 
160使用C#建立WINDOWS服务            // groupBox1
161使用C#建立WINDOWS服务            // 
162使用C#建立WINDOWS服务            this.groupBox1.Controls.Add(this.txtMsg);
163使用C#建立WINDOWS服务            this.groupBox1.Location = new System.Drawing.Point(16176);
164使用C#建立WINDOWS服务            this.groupBox1.Name = "groupBox1";
165使用C#建立WINDOWS服务            this.groupBox1.Size = new System.Drawing.Size(384120);
166使用C#建立WINDOWS服务            this.groupBox1.TabIndex = 7;
167使用C#建立WINDOWS服务            this.groupBox1.TabStop = false;
168使用C#建立WINDOWS服务            this.groupBox1.Text = "Message";
169使用C#建立WINDOWS服务            // 
170使用C#建立WINDOWS服务            // txtMsg
171使用C#建立WINDOWS服务            // 
172使用C#建立WINDOWS服务            this.txtMsg.Dock = System.Windows.Forms.DockStyle.Fill;
173使用C#建立WINDOWS服务            this.txtMsg.Location = new System.Drawing.Point(317);
174使用C#建立WINDOWS服务            this.txtMsg.Multiline = true;
175使用C#建立WINDOWS服务            this.txtMsg.Name = "txtMsg";
176使用C#建立WINDOWS服务            this.txtMsg.ScrollBars = System.Windows.Forms.ScrollBars.Both;
177使用C#建立WINDOWS服务            this.txtMsg.Size = new System.Drawing.Size(378100);
178使用C#建立WINDOWS服务            this.txtMsg.TabIndex = 0;
179使用C#建立WINDOWS服务            this.txtMsg.Text = "";
180使用C#建立WINDOWS服务            // 
181使用C#建立WINDOWS服务            // openFD
182使用C#建立WINDOWS服务            // 
183使用C#建立WINDOWS服务            this.openFD.Filter = "服务执行文件(*.exe)|*.exe";
184使用C#建立WINDOWS服务            this.openFD.Title = "服务测试文件定位";
185使用C#建立WINDOWS服务            // 
186使用C#建立WINDOWS服务            // pBar1
187使用C#建立WINDOWS服务            // 
188使用C#建立WINDOWS服务            this.pBar1.Location = new System.Drawing.Point(24152);
189使用C#建立WINDOWS服务            this.pBar1.Name = "pBar1";
190使用C#建立WINDOWS服务            this.pBar1.Size = new System.Drawing.Size(36816);
191使用C#建立WINDOWS服务            this.pBar1.TabIndex = 8;
192使用C#建立WINDOWS服务            // 
193使用C#建立WINDOWS服务            // btPause
194使用C#建立WINDOWS服务            // 
195使用C#建立WINDOWS服务            this.btPause.Font = new System.Drawing.Font("Arial"10.5F, System.Drawing.FontStyle.Bold);
196使用C#建立WINDOWS服务            this.btPause.ForeColor = System.Drawing.Color.RoyalBlue;
197使用C#建立WINDOWS服务            this.btPause.Location = new System.Drawing.Point(9680);
198使用C#建立WINDOWS服务            this.btPause.Name = "btPause";
199使用C#建立WINDOWS服务            this.btPause.TabIndex = 9;
200使用C#建立WINDOWS服务            this.btPause.Text = "Pause";
201使用C#建立WINDOWS服务            this.btPause.Click += new System.EventHandler(this.btPause_Click);
202使用C#建立WINDOWS服务            // 
203使用C#建立WINDOWS服务            // bt128
204使用C#建立WINDOWS服务            // 
205使用C#建立WINDOWS服务            this.bt128.Font = new System.Drawing.Font("Arial"10.5F, System.Drawing.FontStyle.Bold);
206使用C#建立WINDOWS服务            this.bt128.ForeColor = System.Drawing.Color.RoyalBlue;
207使用C#建立WINDOWS服务            this.bt128.Location = new System.Drawing.Point(16112);
208使用C#建立WINDOWS服务            this.bt128.Name = "bt128";
209使用C#建立WINDOWS服务            this.bt128.Size = new System.Drawing.Size(11223);
210使用C#建立WINDOWS服务            this.bt128.TabIndex = 10;
211使用C#建立WINDOWS服务            this.bt128.Text = "Execute 128";
212使用C#建立WINDOWS服务            this.bt128.Click += new System.EventHandler(this.bt128_Click);
213使用C#建立WINDOWS服务            // 
214使用C#建立WINDOWS服务            // bt129
215使用C#建立WINDOWS服务            // 
216使用C#建立WINDOWS服务            this.bt129.Font = new System.Drawing.Font("Arial"10.5F, System.Drawing.FontStyle.Bold);
217使用C#建立WINDOWS服务            this.bt129.ForeColor = System.Drawing.Color.RoyalBlue;
218使用C#建立WINDOWS服务            this.bt129.Location = new System.Drawing.Point(136112);
219使用C#建立WINDOWS服务            this.bt129.Name = "bt129";
220使用C#建立WINDOWS服务            this.bt129.Size = new System.Drawing.Size(11223);
221使用C#建立WINDOWS服务            this.bt129.TabIndex = 11;
222使用C#建立WINDOWS服务            this.bt129.Text = "Execute 129";
223使用C#建立WINDOWS服务            this.bt129.Click += new System.EventHandler(this.bt129_Click);
224使用C#建立WINDOWS服务            // 
225使用C#建立WINDOWS服务            // Form1
226使用C#建立WINDOWS服务            // 
227使用C#建立WINDOWS服务            this.AutoScaleBaseSize = new System.Drawing.Size(614);
228使用C#建立WINDOWS服务            this.ClientSize = new System.Drawing.Size(416307);
229使用C#建立WINDOWS服务            this.Controls.Add(this.bt129);
230使用C#建立WINDOWS服务            this.Controls.Add(this.bt128);
231使用C#建立WINDOWS服务            this.Controls.Add(this.btPause);
232使用C#建立WINDOWS服务            this.Controls.Add(this.pBar1);
233使用C#建立WINDOWS服务            this.Controls.Add(this.groupBox1);
234使用C#建立WINDOWS服务            this.Controls.Add(this.lbstatus);
235使用C#建立WINDOWS服务            this.Controls.Add(this.lbflag);
236使用C#建立WINDOWS服务            this.Controls.Add(this.label1);
237使用C#建立WINDOWS服务            this.Controls.Add(this.btUninstall);
238使用C#建立WINDOWS服务            this.Controls.Add(this.btInstall);
239使用C#建立WINDOWS服务            this.Controls.Add(this.btStop);
240使用C#建立WINDOWS服务            this.Controls.Add(this.btStart);
241使用C#建立WINDOWS服务            this.Name = "Form1";
242使用C#建立WINDOWS服务            this.Text = "Form1";
243使用C#建立WINDOWS服务            this.Load += new System.EventHandler(this.Form1_Load);
244使用C#建立WINDOWS服务            this.groupBox1.ResumeLayout(false);
245使用C#建立WINDOWS服务            this.ResumeLayout(false);
246使用C#建立WINDOWS服务
247使用C#建立WINDOWS服务        }

248使用C#建立WINDOWS服务        #endregion

249使用C#建立WINDOWS服务
250使用C#建立WINDOWS服务使用C#建立WINDOWS服务        /**//// <summary>
251使用C#建立WINDOWS服务        /// 应用程序的主入口点。
252使用C#建立WINDOWS服务        /// </summary>

253使用C#建立WINDOWS服务        [STAThread]
254使用C#建立WINDOWS服务        static void Main() 
255使用C#建立WINDOWS服务使用C#建立WINDOWS服务        使用C#建立WINDOWS服务{
256使用C#建立WINDOWS服务            Application.Run(new Form1());
257使用C#建立WINDOWS服务        }

258使用C#建立WINDOWS服务
259使用C#建立WINDOWS服务        private void btStart_Click(object sender, System.EventArgs e)
260使用C#建立WINDOWS服务使用C#建立WINDOWS服务        使用C#建立WINDOWS服务{
261使用C#建立WINDOWS服务            sc=new System.ServiceProcess.ServiceController();
262使用C#建立WINDOWS服务            sc.MachineName ="zxd";
263使用C#建立WINDOWS服务            sc.ServiceName ="MyServiceTest";
264使用C#建立WINDOWS服务
265使用C#建立WINDOWS服务
266使用C#建立WINDOWS服务使用C#建立WINDOWS服务            if (sc.Status !=System.ServiceProcess.ServiceControllerStatus.Running )使用C#建立WINDOWS服务{
267使用C#建立WINDOWS服务                sc.Start();
268使用C#建立WINDOWS服务            }

269使用C#建立WINDOWS服务            if (!GetServiceStatus())
270使用C#建立WINDOWS服务使用C#建立WINDOWS服务            使用C#建立WINDOWS服务{
271使用C#建立WINDOWS服务                txtMsg.Text+=strerr+Environment.NewLine ;
272使用C#建立WINDOWS服务            }

273使用C#建立WINDOWS服务        }

274使用C#建立WINDOWS服务
275使用C#建立WINDOWS服务        private void btStop_Click(object sender, System.EventArgs e)
276使用C#建立WINDOWS服务使用C#建立WINDOWS服务        使用C#建立WINDOWS服务{
277使用C#建立WINDOWS服务            sc=new System.ServiceProcess.ServiceController();
278使用C#建立WINDOWS服务            sc.MachineName ="zxd";
279使用C#建立WINDOWS服务            sc.ServiceName ="MyServiceTest";
280使用C#建立WINDOWS服务
281使用C#建立WINDOWS服务            if (sc.Status !=System.ServiceProcess.ServiceControllerStatus.Stopped   )
282使用C#建立WINDOWS服务使用C#建立WINDOWS服务            使用C#建立WINDOWS服务{
283使用C#建立WINDOWS服务                sc.Stop();
284使用C#建立WINDOWS服务            }
        
285使用C#建立WINDOWS服务            if (!GetServiceStatus())
286使用C#建立WINDOWS服务使用C#建立WINDOWS服务            使用C#建立WINDOWS服务{
287使用C#建立WINDOWS服务                txtMsg.Text+=strerr+Environment.NewLine ;
288使用C#建立WINDOWS服务            }

289使用C#建立WINDOWS服务        }

290使用C#建立WINDOWS服务
291使用C#建立WINDOWS服务        private void Form1_Load(object sender, System.EventArgs e)
292使用C#建立WINDOWS服务使用C#建立WINDOWS服务        使用C#建立WINDOWS服务{
293使用C#建立WINDOWS服务            //获取服务运行状态
294使用C#建立WINDOWS服务            btInstall.Enabled =false;
295使用C#建立WINDOWS服务            btUninstall.Enabled =false;
296使用C#建立WINDOWS服务            btStart.Enabled =false;
297使用C#建立WINDOWS服务            btStop.Enabled =false;
298使用C#建立WINDOWS服务            btPause.Enabled =false;
299使用C#建立WINDOWS服务
300使用C#建立WINDOWS服务            if (!GetServiceStatus())
301使用C#建立WINDOWS服务使用C#建立WINDOWS服务            使用C#建立WINDOWS服务{
302使用C#建立WINDOWS服务                txtMsg.Text+=strerr+Environment.NewLine ;
303使用C#建立WINDOWS服务            }

304使用C#建立WINDOWS服务
305使用C#建立WINDOWS服务        }

306使用C#建立WINDOWS服务使用C#建立WINDOWS服务        private bool GetServiceStatus()使用C#建立WINDOWS服务{
307使用C#建立WINDOWS服务            //等待5秒以后开始
308使用C#建立WINDOWS服务            pBar1.Value =0;
309使用C#建立WINDOWS服务            for(int i=0;i<5;i++)
310使用C#建立WINDOWS服务使用C#建立WINDOWS服务            使用C#建立WINDOWS服务{
311使用C#建立WINDOWS服务                System.Threading.Thread.Sleep(1000);
312使用C#建立WINDOWS服务                pBar1.Value =(i+1)*100/5;
313使用C#建立WINDOWS服务            }

314使用C#建立WINDOWS服务            //图简便,应使用    sc.WaitForStatus()
315使用C#建立WINDOWS服务
316使用C#建立WINDOWS服务            try
317使用C#建立WINDOWS服务使用C#建立WINDOWS服务            使用C#建立WINDOWS服务{
318使用C#建立WINDOWS服务                sc=new System.ServiceProcess.ServiceController();
319使用C#建立WINDOWS服务                sc.MachineName ="zxd";
320使用C#建立WINDOWS服务                sc.ServiceName ="MyServiceTest";
321使用C#建立WINDOWS服务                this.runstatus=sc.Status ;
322使用C#建立WINDOWS服务
323使用C#建立WINDOWS服务                if (runstatus==System.ServiceProcess.ServiceControllerStatus.Running )
324使用C#建立WINDOWS服务使用C#建立WINDOWS服务                使用C#建立WINDOWS服务{
325使用C#建立WINDOWS服务                    lbflag.Text ="l";
326使用C#建立WINDOWS服务                }

327使用C#建立WINDOWS服务                else if (runstatus==System.ServiceProcess.ServiceControllerStatus.Stopped)
328使用C#建立WINDOWS服务使用C#建立WINDOWS服务                使用C#建立WINDOWS服务{
329使用C#建立WINDOWS服务                    lbflag.Text ="n";
330使用C#建立WINDOWS服务                }

331使用C#建立WINDOWS服务                else
332使用C#建立WINDOWS服务使用C#建立WINDOWS服务                使用C#建立WINDOWS服务{
333使用C#建立WINDOWS服务                    lbflag.Text ="u";
334使用C#建立WINDOWS服务                }

335使用C#建立WINDOWS服务                lbstatus.Text =runstatus.ToString ();
336使用C#建立WINDOWS服务                installstatus=true;
337使用C#建立WINDOWS服务                return true;
338使用C#建立WINDOWS服务            }

339使用C#建立WINDOWS服务            catch(Exception ex)
340使用C#建立WINDOWS服务使用C#建立WINDOWS服务            使用C#建立WINDOWS服务{
341使用C#建立WINDOWS服务                strerr="Error:"+ex.Message;
342使用C#建立WINDOWS服务                lbflag.Text ="v";
343使用C#建立WINDOWS服务                lbstatus.Text="Uninstall";
344使用C#建立WINDOWS服务                installstatus=false;
345使用C#建立WINDOWS服务                return false;
346使用C#建立WINDOWS服务            }

347使用C#建立WINDOWS服务使用C#建立WINDOWS服务            finally使用C#建立WINDOWS服务{
348使用C#建立WINDOWS服务                ButtonFace();
349使用C#建立WINDOWS服务                sc.Close();
350使用C#建立WINDOWS服务            }

351使用C#建立WINDOWS服务
352使用C#建立WINDOWS服务            
353使用C#建立WINDOWS服务        }

354使用C#建立WINDOWS服务使用C#建立WINDOWS服务        private void ButtonFace()使用C#建立WINDOWS服务{
355使用C#建立WINDOWS服务            if (this.installstatus ==true)
356使用C#建立WINDOWS服务使用C#建立WINDOWS服务            使用C#建立WINDOWS服务{
357使用C#建立WINDOWS服务                btInstall.Enabled =false;
358使用C#建立WINDOWS服务                btUninstall.Enabled =true;
359使用C#建立WINDOWS服务                if (runstatus==System.ServiceProcess.ServiceControllerStatus.Running )
360使用C#建立WINDOWS服务使用C#建立WINDOWS服务                使用C#建立WINDOWS服务{
361使用C#建立WINDOWS服务                    btStart.Enabled =false;
362使用C#建立WINDOWS服务                    btStop.Enabled =true;
363使用C#建立WINDOWS服务                    btPause.Enabled =true;
364使用C#建立WINDOWS服务                }

365使用C#建立WINDOWS服务                else if(runstatus==System.ServiceProcess.ServiceControllerStatus.Stopped)
366使用C#建立WINDOWS服务使用C#建立WINDOWS服务                使用C#建立WINDOWS服务{
367使用C#建立WINDOWS服务                    btStart.Enabled =true;
368使用C#建立WINDOWS服务                    btPause.Enabled =false;
369使用C#建立WINDOWS服务                    btStop.Enabled =false;
370使用C#建立WINDOWS服务                }

371使用C#建立WINDOWS服务                else if(runstatus==System.ServiceProcess.ServiceControllerStatus.Paused )
372使用C#建立WINDOWS服务使用C#建立WINDOWS服务                使用C#建立WINDOWS服务{
373使用C#建立WINDOWS服务                    btStart.Enabled =true;
374使用C#建立WINDOWS服务                    btPause.Enabled =false;
375使用C#建立WINDOWS服务                    btStop.Enabled =true;
376使用C#建立WINDOWS服务                }

377使用C#建立WINDOWS服务使用C#建立WINDOWS服务                else使用C#建立WINDOWS服务{
378使用C#建立WINDOWS服务                    btStart.Enabled =false;
379使用C#建立WINDOWS服务                    btPause.Enabled =false;
380使用C#建立WINDOWS服务                    btStop.Enabled =false;
381使用C#建立WINDOWS服务                }

382使用C#建立WINDOWS服务            }

383使用C#建立WINDOWS服务使用C#建立WINDOWS服务            else使用C#建立WINDOWS服务{
384使用C#建立WINDOWS服务                btInstall.Enabled =true;
385使用C#建立WINDOWS服务                btUninstall.Enabled =false;
386使用C#建立WINDOWS服务                btStart.Enabled =false;
387使用C#建立WINDOWS服务                btStop.Enabled =false;
388使用C#建立WINDOWS服务                btPause.Enabled =false;
389使用C#建立WINDOWS服务            }

390使用C#建立WINDOWS服务        }

391使用C#建立WINDOWS服务
392使用C#建立WINDOWS服务        private void btInstall_Click(object sender, System.EventArgs e)
393使用C#建立WINDOWS服务使用C#建立WINDOWS服务        使用C#建立WINDOWS服务{
394使用C#建立WINDOWS服务            string tagfile="";
395使用C#建立WINDOWS服务            openFD.FileName="";
396使用C#建立WINDOWS服务            openFD.ShowDialog();
397使用C#建立WINDOWS服务
398使用C#建立WINDOWS服务使用C#建立WINDOWS服务            if (openFD.FileName!=String.Empty )使用C#建立WINDOWS服务{
399使用C#建立WINDOWS服务                tagfile=openFD.FileName;
400使用C#建立WINDOWS服务                //这里要使用Process类创建一个进程,并且实现命令行注册服务
401使用C#建立WINDOWS服务                
402使用C#建立WINDOWS服务                Process p = new Process();
403使用C#建立WINDOWS服务                
404使用C#建立WINDOWS服务                //实例一个Process类,启动一个独立进程
405使用C#建立WINDOWS服务                //Process类有一个StartInfo属性,这个是ProcessStartInfo类,
406使用C#建立WINDOWS服务                //包括了一些属性和方法,下面我们用到了他的几个属性
407使用C#建立WINDOWS服务
408使用C#建立WINDOWS服务                //设定程序名
409使用C#建立WINDOWS服务
410使用C#建立WINDOWS服务                p.StartInfo.FileName = "cmd.exe";
411使用C#建立WINDOWS服务
412使用C#建立WINDOWS服务                //关闭Shell的使用
413使用C#建立WINDOWS服务
414使用C#建立WINDOWS服务                p.StartInfo.UseShellExecute = false;
415使用C#建立WINDOWS服务
416使用C#建立WINDOWS服务                //重定向标准输入
417使用C#建立WINDOWS服务
418使用C#建立WINDOWS服务                p.StartInfo.RedirectStandardInput = true;
419使用C#建立WINDOWS服务
420使用C#建立WINDOWS服务                //重定向标准输出
421使用C#建立WINDOWS服务
422使用C#建立WINDOWS服务                p.StartInfo.RedirectStandardOutput = true;
423使用C#建立WINDOWS服务
424使用C#建立WINDOWS服务                //重定向错误输出
425使用C#建立WINDOWS服务
426使用C#建立WINDOWS服务                p.StartInfo.RedirectStandardError = true;
427使用C#建立WINDOWS服务
428使用C#建立WINDOWS服务                //设置不显示窗口
429使用C#建立WINDOWS服务
430使用C#建立WINDOWS服务                p.StartInfo.CreateNoWindow = true;
431使用C#建立WINDOWS服务
432使用C#建立WINDOWS服务                //上面几个属性的设置是比较关键的一步。
433使用C#建立WINDOWS服务
434使用C#建立WINDOWS服务                //既然都设置好了那就启动进程吧,
435使用C#建立WINDOWS服务
436使用C#建立WINDOWS服务                p.Start();
437使用C#建立WINDOWS服务
438使用C#建立WINDOWS服务                //输入要执行的命令,这里就是 installutil.exe 服务程序名称.exe
439使用C#建立WINDOWS服务
440使用C#建立WINDOWS服务                p.StandardInput.WriteLine("installutil.exe "+tagfile);
441使用C#建立WINDOWS服务                p.StandardInput.WriteLine("exit");
442使用C#建立WINDOWS服务                
443使用C#建立WINDOWS服务                //从输出流获取命令执行结果,
444使用C#建立WINDOWS服务                string strRst = p.StandardOutput.ReadToEnd();
445使用C#建立WINDOWS服务
446使用C#建立WINDOWS服务                txtMsg.Text =strRst;
447使用C#建立WINDOWS服务
448使用C#建立WINDOWS服务
449使用C#建立WINDOWS服务                if (!GetServiceStatus())
450使用C#建立WINDOWS服务使用C#建立WINDOWS服务                使用C#建立WINDOWS服务{
451使用C#建立WINDOWS服务                    txtMsg.Text+=strerr+Environment.NewLine ;
452使用C#建立WINDOWS服务                }

453使用C#建立WINDOWS服务
454使用C#建立WINDOWS服务
455使用C#建立WINDOWS服务
456使用C#建立WINDOWS服务
457使用C#建立WINDOWS服务
458使用C#建立WINDOWS服务
459使用C#建立WINDOWS服务
460使用C#建立WINDOWS服务            }

461使用C#建立WINDOWS服务
462使用C#建立WINDOWS服务        }

463使用C#建立WINDOWS服务
464使用C#建立WINDOWS服务        private void btUninstall_Click(object sender, System.EventArgs e)
465使用C#建立WINDOWS服务使用C#建立WINDOWS服务        使用C#建立WINDOWS服务{
466使用C#建立WINDOWS服务            string tagfile=@" D:\MCSD.NET\70-320\Test\MyService\bin\Debug\MyService.exe";
467使用C#建立WINDOWS服务            //这里要使用Process类创建一个进程,并且实现命令行注册服务
468使用C#建立WINDOWS服务                
469使用C#建立WINDOWS服务            Process p = new Process();
470使用C#建立WINDOWS服务                
471使用C#建立WINDOWS服务            //实例一个Process类,启动一个独立进程
472使用C#建立WINDOWS服务            //Process类有一个StartInfo属性,这个是ProcessStartInfo类,
473使用C#建立WINDOWS服务            //包括了一些属性和方法,下面我们用到了他的几个属性
474使用C#建立WINDOWS服务
475使用C#建立WINDOWS服务            //设定程序名
476使用C#建立WINDOWS服务
477使用C#建立WINDOWS服务            p.StartInfo.FileName = "cmd.exe";
478使用C#建立WINDOWS服务
479使用C#建立WINDOWS服务            //关闭Shell的使用
480使用C#建立WINDOWS服务
481使用C#建立WINDOWS服务            p.StartInfo.UseShellExecute = false;
482使用C#建立WINDOWS服务
483使用C#建立WINDOWS服务            //重定向标准输入
484使用C#建立WINDOWS服务
485使用C#建立WINDOWS服务            p.StartInfo.RedirectStandardInput = true;
486使用C#建立WINDOWS服务
487使用C#建立WINDOWS服务            //重定向标准输出
488使用C#建立WINDOWS服务
489使用C#建立WINDOWS服务            p.StartInfo.RedirectStandardOutput = true;
490使用C#建立WINDOWS服务
491使用C#建立WINDOWS服务            //重定向错误输出
492使用C#建立WINDOWS服务
493使用C#建立WINDOWS服务            p.StartInfo.RedirectStandardError = true;
494使用C#建立WINDOWS服务
495使用C#建立WINDOWS服务            //设置不显示窗口
496使用C#建立WINDOWS服务
497使用C#建立WINDOWS服务            p.StartInfo.CreateNoWindow = true;
498使用C#建立WINDOWS服务
499使用C#建立WINDOWS服务            //上面几个属性的设置是比较关键的一步。
500使用C#建立WINDOWS服务
501使用C#建立WINDOWS服务            //既然都设置好了那就启动进程吧,
502使用C#建立WINDOWS服务
503使用C#建立WINDOWS服务            p.Start();
504使用C#建立WINDOWS服务
505使用C#建立WINDOWS服务            //输入要执行的命令,这里就是 installutil.exe 服务程序名称.exe
506使用C#建立WINDOWS服务
507使用C#建立WINDOWS服务            p.StandardInput.WriteLine("installutil.exe /u"+tagfile);
508使用C#建立WINDOWS服务            p.StandardInput.WriteLine("exit");
509使用C#建立WINDOWS服务                
510使用C#建立WINDOWS服务            //从输出流获取命令执行结果,
511使用C#建立WINDOWS服务            string strRst = p.StandardOutput.ReadToEnd();
512使用C#建立WINDOWS服务
513使用C#建立WINDOWS服务            txtMsg.Text =strRst;
514使用C#建立WINDOWS服务
515使用C#建立WINDOWS服务
516使用C#建立WINDOWS服务            if (!GetServiceStatus())
517使用C#建立WINDOWS服务使用C#建立WINDOWS服务            使用C#建立WINDOWS服务{
518使用C#建立WINDOWS服务                txtMsg.Text+=strerr+Environment.NewLine ;
519使用C#建立WINDOWS服务            }
    
520使用C#建立WINDOWS服务        }

521使用C#建立WINDOWS服务
522使用C#建立WINDOWS服务        private void btPause_Click(object sender, System.EventArgs e)
523使用C#建立WINDOWS服务使用C#建立WINDOWS服务        使用C#建立WINDOWS服务{
524使用C#建立WINDOWS服务            sc=new System.ServiceProcess.ServiceController();
525使用C#建立WINDOWS服务            sc.MachineName ="zxd";
526使用C#建立WINDOWS服务            sc.ServiceName ="MyServiceTest";
527使用C#建立WINDOWS服务
528使用C#建立WINDOWS服务            if (sc.Status ==System.ServiceProcess.ServiceControllerStatus.Running  )
529使用C#建立WINDOWS服务使用C#建立WINDOWS服务            使用C#建立WINDOWS服务{
530使用C#建立WINDOWS服务                sc.Pause ();
531使用C#建立WINDOWS服务            }
        
532使用C#建立WINDOWS服务            if (!GetServiceStatus())
533使用C#建立WINDOWS服务使用C#建立WINDOWS服务            使用C#建立WINDOWS服务{
534使用C#建立WINDOWS服务                txtMsg.Text+=strerr+Environment.NewLine ;
535使用C#建立WINDOWS服务            }
    
536使用C#建立WINDOWS服务        }

537使用C#建立WINDOWS服务
538使用C#建立WINDOWS服务        private void bt128_Click(object sender, System.EventArgs e)
539使用C#建立WINDOWS服务使用C#建立WINDOWS服务        使用C#建立WINDOWS服务{
540使用C#建立WINDOWS服务            //调用服务的128命令
541使用C#建立WINDOWS服务            sc=new System.ServiceProcess.ServiceController();
542使用C#建立WINDOWS服务            sc.MachineName ="zxd";
543使用C#建立WINDOWS服务            sc.ServiceName ="MyServiceTest";
544使用C#建立WINDOWS服务            sc.ExecuteCommand(128);
545使用C#建立WINDOWS服务        }

546使用C#建立WINDOWS服务
547使用C#建立WINDOWS服务        private void bt129_Click(object sender, System.EventArgs e)
548使用C#建立WINDOWS服务使用C#建立WINDOWS服务        使用C#建立WINDOWS服务{
549使用C#建立WINDOWS服务            //调用服务的129命令
550使用C#建立WINDOWS服务            sc=new System.ServiceProcess.ServiceController();
551使用C#建立WINDOWS服务            sc.MachineName ="zxd";
552使用C#建立WINDOWS服务            sc.ServiceName ="MyServiceTest";
553使用C#建立WINDOWS服务            sc.ExecuteCommand(129);
554使用C#建立WINDOWS服务        }

555使用C#建立WINDOWS服务    }

556使用C#建立WINDOWS服务}

557使用C#建立WINDOWS服务

转载于:https://www.cnblogs.com/coldwine/archive/2005/07/31/204269.html