123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using System.Threading;
- namespace ServiceHelper
- {
- public enum WorkType
- {
- Install,
- Uninstall,
- Start,
- Stop,
- Restart,
- }
- public partial class ServiceHelper : Form
- {
- private const string serviceName = "Aca.Certain.MiddleService";
- private const string serviceInstallPath = "Aca.Certain.MiddleService.exe";
- private Progress progress = new Progress();
- public static BackgroundWorker bgWorker = new BackgroundWorker();
- public ServiceHelper()
- {
- InitializeComponent();
- bgWorker.WorkerReportsProgress = true;
- bgWorker.DoWork += new DoWorkEventHandler(bgWorker_DoWork);
- bgWorker.ProgressChanged += new ProgressChangedEventHandler(bgWorker_ProgressChanged);
- bgWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bgWorker_RunWorkerCompleted);
- }
- void bgWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
- {
- progress.Done();
- if (!string.IsNullOrEmpty((string)e.Result))
- {
- MessageBox.Show((string)e.Result, "消息", MessageBoxButtons.OK);
- }
- }
- void bgWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
- {
- progress.UpdateProgress();
- }
- void bgWorker_DoWork(object sender, DoWorkEventArgs e)
- {
- try
- {
- progress.Reset();
- switch ((WorkType)e.Argument)
- {
- case WorkType.Install:
- {
- ServiceControl.Install(serviceName, serviceInstallPath);
- e.Result = "安装服务成功!";
- }
- break;
- case WorkType.Uninstall:
- {
- ServiceControl.Uninstall(serviceName, serviceInstallPath);
- e.Result = "卸载服务成功!";
- }
- break;
- case WorkType.Start:
- {
- ServiceControl.Start(serviceName);
- e.Result = "启动服务成功!";
- }
- break;
- case WorkType.Stop:
- {
- ServiceControl.Stop(serviceName);
- e.Result = "停止服务成功!";
- }
- break;
- case WorkType.Restart:
- {
- ServiceControl.Restart(serviceName);
- e.Result = "重启服务成功!";
- }
- break;
- }
- }
- catch (Exception ex)
- {
- progress.Hide();
- MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK);
- }
- }
- private void InstallBtn_Click(object sender, EventArgs e)
- {
- try
- {
- bgWorker.RunWorkerAsync(WorkType.Install);
- progress.Text = "安装服务中……";
- progress.ShowDialog(this);
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK);
- }
- }
- private void UninstallBtn_Click(object sender, EventArgs e)
- {
- try
- {
- bgWorker.RunWorkerAsync(WorkType.Uninstall);
- progress.Text = "卸载服务中……";
- progress.ShowDialog(this);
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK);
- }
- }
- private void StartBtn_Click(object sender, EventArgs e)
- {
- try
- {
- bgWorker.RunWorkerAsync(WorkType.Start);
- progress.Text = "启动服务中……";
- progress.ShowDialog(this);
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK);
- }
- }
- private void StopBtn_Click(object sender, EventArgs e)
- {
- try
- {
- bgWorker.RunWorkerAsync(WorkType.Stop);
- progress.Text = "停止服务中……";
- progress.ShowDialog(this);
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK);
- }
- }
- private void RestartBtn_Click(object sender, EventArgs e)
- {
- try
- {
- bgWorker.RunWorkerAsync(WorkType.Restart);
- progress.Text = "重启服务中……";
- progress.ShowDialog(this);
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK);
- }
- }
- private void ConfigBtn_Click(object sender, EventArgs e)
- {
- try
- {
- Settings settings = new Settings();
- settings.ShowDialog(this);
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message, "获取配置失败", MessageBoxButtons.OK);
- }
- }
- }
- }
|