因为现在负责的项目中有运用到系统服务来确定用户的使用权限是否到期,所以在系统启动前,先要判断该服务是否启动,如果未启动,则要启动该服务。
下面给出在Asp.net中,对启动服务,关闭服务,安装服务,卸载服务的实现代码:
//启动服务
protected void Button1_Click(object sender, EventArgs e)
{
ProcessStartInfo _processStartInfo = new ProcessStartInfo(@"c:/windows/system32/cmd.exe", "/c net start 服务名称");
_processStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
Process.Start(_processStartInfo);
}
从代码中可以看出,该方法是从cmd运行中启动服务,同样原理,我们可以在cmd运行中停止服务:
//停止服务
protected void Button1_Click(object sender, EventArgs e)
{
ProcessStartInfo _processStartInfo = new ProcessStartInfo(@"c:/windows/system32/cmd.exe", "/c net stop 服务名称");
_processStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
Process.Start(_processStartInfo);
}
注意:_processStartInfo.WindowStyle = ProcessWindowStyle.Hidden,该段代码,是为了在调用cmd工具时,隐藏该工具。如果不设置该样式,我们在执行该段代码时,会看到cmd工具的运行界面。
下面继续看看安装与卸载服务的代码:
//安装服务
protected void Button1_Click(object sender, EventArgs e)
{
ProcessStartInfo _processStartInfo = new ProcessStartInfo(@"服务所在路径","-install");
_processStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
Process.Start(_processStartInfo);
}
注意:服务路径中的"/"应用"//"来代替
如:ProcessStartInfo _processStartInfo = new ProcessStartInfo(@"E://lmwlove//server//testserver.exe", "-install");卸载服务中也一样,我们来看看卸载服务的代码:
//卸载服务
protected void Button1_Click(object sender, EventArgs e)
{
ProcessStartInfo _processStartInfo = new ProcessStartInfo(@"服务所在路径","-remove");
_processStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
Process.Start(_processStartInfo);
}
好了,很简短的几段代码,就完成了我们要想的结果。希望以上方法,能带给大家一些帮助。