C#发现之旅:C#开发Windows Service程序(下)

类似的对于“停止服务”,其点击事件处理为

private void btnStopService_Click(object sender, EventArgs e)
{
    if (bolServiceInstalled == false)
        return;
    using (System.ServiceProcess.ServiceController control = new System.ServiceProcess.ServiceController("MyFileSystemWatcher"))
    {
        if (control.Status == System.ServiceProcess.ServiceControllerStatus.Running)
        {
            control.Stop();
        }
    }
}

在这个处理过程中,若判断出服务状态为运行中,则调用控制器的Stop方法 来停止服务。在这里Stop方法内部只是通知操作系统停止指定的服务,它发送通知后立即返 回,不会等待服务停止后返回。

我们还在窗体上放置一个定时器控件,定时间隔为2 秒,用于根据服务的状态刷新工具条按钮状态,其定时事件处理为

private void myTimer_Tick(object sender, EventArgs e)
{
    if (bolServiceInstalled == false)
        return;
    using (System.ServiceProcess.ServiceController control = new System.ServiceProcess.ServiceController("MyFileSystemWatcher"))
    {
        btnStartService.Enabled = (control.Status == System.ServiceProcess.ServiceControllerStatus.Stopped);
        btnStopService.Enabled = (control.Status == System.ServiceProcess.ServiceControllerStatus.Running);
    }
}

在这里我们创建了一个绑定到文件系统监控服务的ServiceController对象 ,然后根据它的Status状态来设置“启动服务”和“停止服务”按钮 的可用状态。

系统配置对话框 dlgConfig

在客户端主窗体中点击工具条的 “系统配置”按钮就会弹出系统设置对话框,该对话框的用户界面为

开发Windows Service程序(下)-c站">

时间: 2024-10-31 03:29:59

C#发现之旅:C#开发Windows Service程序(下)的相关文章

C#发现之旅:C#开发Windows Service程序(上)

Windows Service概念介绍 Windows Service,也称Windows服务,是32位Windows 操作系统中一种长期运行的后台程序.它们长期后台运行,没有用户界面,默默无闻,但它 们却是支持Windows正常运行的幕后英雄,却永无出头之日. Windows服务程序为其他 系统模块提供了非常重要的服务,而且各个Windows服务分工明确,比如IISAdmin服务提供 WEB内容的发布功能,若IISAdmin服务不启动,则静态HTML页面.ASP.ASP.NET或者 WebSe

C# 开发Windows Service程序控制功能

在做一些计划任务时候难免用到Windows Service服务程序,而这个是没有操作界面的,每次启动.重启.关闭都需要服务界面找到服务进行操作,对普通的人来说是非常麻烦的,所以有时候就需要通过应用程序来控制Windows 服务,这里把之前写到的一个服务控制类贴出来. C# Windows 服务控制类代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syste

C#开发WINDOWS应用程序时消息的处理

window|程序 WINDOWS应用程序是靠消息驱动的,在VC中我们通过CLASSWIZARD可以为某窗口类添加消息处理函数,CLASSWIZARD将为你添加消息映射,对于WINDOWS消息,生成的消息处理函数重载了基类的虚拟方法.而在C#中如何处理消息呢?本文针对VS.NET BETA1环境下的C#简单地介绍WINDOWS消息以及自定义消息的处理方法. 示例代码下载 17K 一.生成一个名为MSGApplication的工程 工程的建立方法请参考:C#学习笔记之一 二.处理WM_PAINT消

开发Windows 2000/XP下的防火墙

开发Windows 2000/XP下的防火墙-windowsxp防火墙">介绍 如果你决定开发LINUX下的防火墙,你会找到很多免费的信息与源代码.但如果开发WINDOWS平台下的防火墙会有点困难,找到相关信息与代码都简直是不可能的任务. 因此我决定写这篇文章介绍在WINDOWS 2000/XP下开发防火墙的简单方法. 背景 在WINDOWS 2000 DDK中,微软包含了称为Filter-Hook Driver的新型网络驱动.你可以使用它来过滤所有进出接口的数据. 因为关于此的文档很少并

windows service 程序的输出信息如何显示到dos窗口

问题描述 windows service 程序的输出信息如何显示到dos窗口 我创建了一个Windows的服务程序,其中写了一些调式的日志信息,现在在服务启动运行的时候想让日志信息在dos窗口显示出来,让我能看到调式的结果,应该怎么调用? Windows service程序是不是可以显示dos窗口? 解决方案 写日志文件或用Debug.WriteLine输出,用DegbuView工具查看.可参考:http://blog.csdn.net/fengyily/article/details/2281

networking-windowCE C#开发的应用程序下连接informix

问题描述 windowCE C#开发的应用程序下连接informix 各位高手,最近CE下的项目需要从sqlserver的数据库移植到informix的数据库. 环境:linux操作系统用开源版本centos6.5 informix免费版:IBM Informix Dynamic Server Version 11.70.FC8IE VS2008,程序运行:CE5与CE6,终端型号:MC3090(ce5)与MC3190(ce6) 我按照ado.net的连接试了下,下载了IBM.Data.Info

使用Axis开发Web Service程序

说道Web Service的程序开发,八个月前我加班调试公司和中国电信的商务领航系统的接口的时候,用的就是Web Service,Web Service有很多优点,使用Web Service可以在不同编程语言间实现数据交换,而我那时对Web Service也不熟,就由同事帮我生成了一大堆Web Service的框架代码,我则只单独开发业务代码. 这次的另外一个项目也要用Web Service了,不过人手也少了,没有人帮做Web Service了,只好自己动手. 好在开发前,有个同事先给我们不熟悉

C#开发WINDOWS应用程序时消息的处理(C#学习笔记之二)

作者:浙江省温岭市电信局 王骏WINDOWS应用程序是靠消息驱动的,在VC中我们通过CLASSWIZARD可以为某窗口类添加消息处理函数,CLASSWIZARD将为你添加消息映射,对于WINDOWS消息,生成的消息处理函数重载了基类的虚拟方法.而在C#中如何处理消息呢?本文针对VS.NET BETA1环境下的C#简单地介绍WINDOWS消息以及自定义消息的处理方法.示例代码下载 17K一.生成一个名为MSGApplication的工程工程的建立方法请参考:C#学习笔记之一二.处理WM_PAINT

使用Python开发windows GUI程序入门实例_python

今天终于可以用wxPython开发GUI程序了,非常高兴.把其中的一些注意点写下来以供参考.在windows XP平台下,首先需要做以下环境的配置: 1. 首先是安装python ,安装完之后将python/bin所在目录添加到path中. 2. 安装wxPython, 此时要注意wxPython的版本要与前面python的版本一致. 3. 安装py2exe, 这是windows平台下一个非常好的python程序发布工具,可以将python程序编译成exe而脱离python环境执行.做完上面的安