打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
C#windows服务安装方法
using System.ServiceProcess;
       
       
/// <summary>
       
/// Windows服务类
       
/// </summary>
        public class ServiceUl {
           
/// <summary>
           
/// 检查服务存在的存在性
           
/// </summary>
           
/// <param name=" NameService ">服务名</param>
           
/// <returns>存在返回 true,否则返回 false;</returns>
            public static bool isServiceIsExisted(string NameService) {
                ServiceController[] services
= ServiceController.GetServices();
               
foreach (ServiceController s in services) {
                   
if (s.ServiceName.ToLower() == NameService.ToLower()) {
                       
return true;
                    }
                }
               
return false;
            }

           
/// <summary>
           
/// 安装Windows服务
           
/// </summary>
           
/// <param name="stateSaver">集合</param>
           
/// <param name="filepath">程序文件路径</param>
            public static void InstallmyService(IDictionary stateSaver, string filepath) {
                AssemblyInstaller AssemblyInstaller1
= new AssemblyInstaller();
                AssemblyInstaller1.UseNewContext
= true;
                AssemblyInstaller1.Path
= filepath;
                AssemblyInstaller1.Install(stateSaver);
                AssemblyInstaller1.Commit(stateSaver);
                AssemblyInstaller1.Dispose();
            }

           
/// <summary>
           
/// 卸载Windows服务
           
/// </summary>
           
/// <param name="filepath">程序文件路径</param>
            public static void UnInstallmyService(string filepath) {
                AssemblyInstaller AssemblyInstaller1
= new AssemblyInstaller();
                AssemblyInstaller1.UseNewContext
= true;
                AssemblyInstaller1.Path
= filepath;
                AssemblyInstaller1.Uninstall(
null);
                AssemblyInstaller1.Dispose();
            }

           
/// <summary>
           
/// 检查Windows服务是否在运行
           
/// </summary>
           
/// <param name="name">程序的服务名</param>
            public static bool IsRunning(string name) {
               
bool IsRun = false;
               
try {
                   
if (!isServiceIsExisted(name)) {
                       
return false;
                    }
                    ServiceController sc
= new ServiceController(name);
                   
if (sc.Status == ServiceControllerStatus.StartPending ||
                        sc.Status
== ServiceControllerStatus.Running) {
                        IsRun
= true;
                    }
                    sc.Close();
                }
catch {
                    IsRun
= false;
                }
               
return IsRun;
            }

           
/// <summary>
           
/// 启动Windows服务
           
/// </summary>
           
/// <param name="name">程序的服务名</param>
           
/// <returns>启动成功返回 true,否则返回 false;</returns>
            public static bool StarmyService(string name) {
                ServiceController sc
= new ServiceController(name);
               
if (sc.Status == ServiceControllerStatus.Stopped || sc.Status == ServiceControllerStatus.StopPending
                        ) {
                    sc.Start();
                    sc.WaitForStatus(ServiceControllerStatus.Running,
new TimeSpan(0, 0, 10));
                }
else {
                }
                sc.Close();
               
return true;
            }

           
/// <summary>
           
/// 停止Windows服务
           
/// </summary>
           
/// <param name="name">程序的服务名</param>
           
/// <returns>停止成功返回 true,否则返回 false;</returns>
            public static bool StopmyService(string name) {
                ServiceController sc
= new ServiceController(name);
               
if (sc.Status == ServiceControllerStatus.Running ||
                    sc.Status
== ServiceControllerStatus.StartPending) {
                    sc.Stop();
                    sc.WaitForStatus(ServiceControllerStatus.Stopped,
new TimeSpan(0, 0, 10));
                }
else {
                }
                sc.Close();
               
return true;
            }

           
/// <summary>
           
/// 重启Windows服务
           
/// </summary>
           
/// <param name="name">程序的服务名</param>
           
/// <returns>重启成功返回 true,否则返回 false;</returns>
            public static bool RefreshmyService(string name) {
               
return StopmyService(name) && StarmyService(name);
            }
        }
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
web页面控制windows服务的启动和停止
C#制作Windows service服务系列三
C#中调用Windows系统服务exe程序的工具类与重启服务的流程
.Net实现Windows服务安装完成后自动启动的两种方法
使用C#创建Windows服务
一周一话题之三(Windows服务、批处理项目实战)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服