using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace LedInfoSystem
{
public partial class Form1 : Form
{
//服务安装
private string path = Application.StartupPath + "\\LedInfoWcfService.exe";
const string _servername = "ServiceLed";
public Form1()
{
InitializeComponent();
}
#region 服务状态
/// <summary>
/// 当前状态
/// </summary>
public void CurrentStatus()
{
if (ServiceExist(_servername))
{
if (ServiceIsRunning(_servername))
{
//img = Image.FromFile(Application.StartupPath + "\\hasbeenstarted.png");
lblStatus.Text = "已启动";
}
else
{
//img = Image.FromFile(Application.StartupPath + "\\havenotstarted.png");
lblStatus.Text = "未启动";
}
}
else
{
//img = Image.FromFile(Application.StartupPath + "\\notinstalled.png");
lblStatus.Text = "未安装";
}
//pictureBox1.Image = img;
}
/// <summary>
/// 服务是否存在
/// </summary>
/// <param name="serviceName"></param>
/// <returns></returns>
public static bool ServiceExist(string serviceName)
{
try
{
string m_ServiceName = serviceName;
ServiceController[] services = ServiceController.GetServices();
foreach (ServiceController s in services)
{
if (s.ServiceName.ToLower() == m_ServiceName.ToLower())
{
return true;
}
}
return false;
}
catch (Exception ex)
{
return false;
}
}
/// <summary>
/// 验证服务是否启动
/// </summary>
/// <returns></returns>
public static bool ServiceIsRunning(string serviceName)
{
ServiceController service = new ServiceController(serviceName);
if (service.Status == ServiceControllerStatus.Running)
{
return true;
}
else
{
return false;
}
}
#endregion
/// <summary>
/// 页面加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_Load(object sender, EventArgs e)
{
}
#region 服务管理
WinServerManager wsm = new WinServerManager();
/// <summary>
/// 安装服务
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnInstall_Click(object sender, EventArgs e)
{
wsm.InsertServer(_servername, path);
}
/// <summary>
/// 卸载服务
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnUninstall_Click(object sender, EventArgs e)
{
wsm.UnInsertServer(_servername, path);
}
/// <summary>
/// 启动服务
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnStart_Click(object sender, EventArgs e)
{
wsm.StartServer(_servername);
IBLL.LedService ledService = new IBLL.LedService();
}
/// <summary>
/// 停止服务
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnStop_Click(object sender, EventArgs e)
{
wsm.StopServer(_servername);
}
#endregion
private void timer1_Tick(object sender, EventArgs e)
{
CurrentStatus();
}
}
}
WCF(Form窗体方法)
最新推荐文章于 2021-06-29 11:41:54 发布