关于windows服务的操作

/// <summary>

/// 判断是否安装了某个服务

/// </summary>

/// <param name="serviceName"></param>

/// <returns></returns>

public static bool ISWindowsServiceInstalled(string serviceName)

{

try

{

ServiceController[] services = ServiceController.GetServices();
                foreach (ServiceController service in services)

{

if (service.ServiceName == serviceName)

{

return true;

}

}
                return false;

}

catch

{ return false; }

}

   /// <summary>
        /// 启动某个服务
        /// </summary>
        /// <param name="serviceName"></param>
        public static void StartService(string serviceName)
        {
            try
            {
                ServiceController[] services = ServiceController.GetServices();

                foreach (ServiceController service in services)
                {
                    if (service.ServiceName == serviceName)
                    {
                        service.Start();

                        service.WaitForStatus(ServiceControllerStatus.Running, new TimeSpan(0, 0, 30));
                    }
                }
            }
            catch { }
        }
/// <summary>
        /// 停止某个服务
        /// </summary>
        /// <param name="serviceName"></param>
        public static void StopService(string serviceName)
        {
            try
            {
                ServiceController[] services = ServiceController.GetServices();

                foreach (ServiceController service in services)
                {
                    if (service.ServiceName == serviceName)
                    {
                        service.Stop();

                        service.WaitForStatus(ServiceControllerStatus.Running, new TimeSpan(0, 0, 30));
                    }
                }
            }
            catch { }
        }
       /// <summary>
        /// 判断某个服务是否启动
        /// </summary>
        /// <param name="serviceName"></param>
        public static bool ISStart(string serviceName)
        {
            bool result = true;

            try
            {
                ServiceController[] services = ServiceController.GetServices();

                foreach (ServiceController service in services)
                {
                    if (service.ServiceName == serviceName)
                    {
                        if ((service.Status == ServiceControllerStatus.Stopped)
                            || (service.Status == ServiceControllerStatus.StopPending))
                        {
                            result = false;
                        }
                    }
                }
            }
            catch { }

            return result;
        }
时间: 2024-11-08 22:40:11

关于windows服务的操作的相关文章

windows服务管理操作

服务程序是windows上重要的一类程序,它们虽然不与用户进行界面交互,但是它们对于系统有着重要的意义.windows上为了管理服务程序提供了一个特别的程序:服务控制管理程序,系统上关于服务控制管理的API基本上都与这个程序打交道.下面通过对服务程序的操作来说明这些API函数 获取系统服务的信息 在windows系统中有专门用来存储服务信息的数据库,而获取系统服务信息主要是通过在这样的数据库中查找.所用到的函数主要有: OpenSCManager:打开数据库 SC_HANDLE WINAPI O

C#开发可以可视化操作的windows服务

使用C#开发自定义windows服务是一件十分简单的事.那么什么时候,我们需要自己开发windows服务呢,就是当我们需要计算机定期或者一直执行我们开发的某些程序的时候.这里我以一个WCF的监听服务为例,因为我是做一个局域聊天室,需要服务器端监听终端,所以我就开发了一个服务,以便控制此监听服务.然而,我们开发的windows服务,默认情况下是无法可视化的操作的,这里我就额外的开发一个工具来对此服务进行操作,效果图如下: 开发步骤: 1."新建项目"--"Window服务&qu

C# 6 与 .NET Core 1.0 高级编程 - 39 章 Windows 服务(上)

译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 39 章 Windows 服务(上)),不对的地方欢迎指出与交流. 章节出自<Professional C# 6 and .NET Core 1.0>.水平有限,各位阅读时仔细分辨,唯望莫误人子弟. 附英文版原文:Professional C# 6 and .NET Core 1.0 - Chapter 39 Windows Services --------------------------------

C# Windows服务开发和安装

Microsoft Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面.这使服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用.还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务. Windows服务管理器 在Windows系统中,你可以通过在命令行中输入service

如何在网页启动Windows服务

由于公司有许多windows服务进行业务的处理,所谓对服务的维护也是一个比较头痛的问题,因为自己也不知道服务什么时候自动停了,而 且更主要的原因是服务都是由运维部门在维护管理,开发这边没有直接操作服务的权限,所以利用网页监控服务就很重要了(在服务中也可以增加邮件提醒,比如服 务报错或者断掉). 如何获取电脑上的所有服务: 使用.Net框架类库中自带的组件ServiceController可以实现对 Windows服务的操作. 1.首先要在你的项目添加引用System.ServiceProcess

C# Windows 服务

Windows 服务是操作系统启动时可以自动打开的应用程序.Windows服务可以在没有交互式用户登录系统的情况下运行.可以把Windows 服务配置为从已进行特殊配置的用户账户或系统用户账户上运行.下面以VS2008为例,来看.net Windows 服务的简单使用. 一.创建Windows 服务 新建一个项目,Visual C# —> Windows –> Windows 服务,将项目名称改为WinServiceTest,修改项目的相应位置,如图1所示, 图1 单击确定后便会出现一个外表与

C# 创建Windows服务。服务功能:定时操作数据库

一.创建window服务 1.新建项目-->选择Windows服务.默认生成文件包括Program.cs,Service1.cs 2.在Service1.cs添加如下代码: System.Timers.Timer timer1;  //计时器 public Service1() { InitializeComponent(); } protected override void OnStart(string[] args)  //服务启动执行 { timer1 = new System.Time

使用PowerShell操作Windows服务的命令小结

PowerShell在处理Windows服务方面,提供了强大的功能,很多方便.强大的cmdlet等着你去发掘. Get-Service,别名gsv,获取服务对象. 举例:gsv eventlog 或 $evtlog = gsv eventlog Start-Service,启动服务. Stop-Service,停止服务. Restart-Service,重启服务. Suspend-Service,挂起/暂停服务. Resume-Service,继续服务. Set-Service,设置服务的属性.

C#操作windows服务,安装、卸载、停止、启动

1 public class ServiceUtil 2 { 3 private string _ServiceName = string.Empty; 4 private string _AppName = string.Empty; 5 6 public string AppName 7 { 8 get { return _AppName; } 9 set { _AppName = value; } 10 } 11 12 public string ServiceName 13 { 14 g