用C#创建Windows(NT)服务

原创 2001年05月03日 12:14:00
用C#创建Windows(NT)服务
(青苹果工作室编译 2001年04月27日 17:58)

Windows服务在Visual Studio 以前的版本中叫NT服务,在VS.net启用了新的名称。用Visual C# 创建Windows服务不是一件困难的事,本文就将指导你一步一步创建一个Windows服务并使用它。这个服务在启动和停止时,向一个文本文件中写入一些文字信息。这个小技巧来自于MSDN,但是现在程序编写的更加清晰,并且你可以根据你的需要修改它。可下载工程文件包:mcWinService.zip
第一步:创建服务框架
要创建一个新的 Windows 服务,可以从Visual C# 工程中选取 Windows 服务(Windows Service)选项,给工程一个新文件名,然后点击 OK。结果看起来是这样的:

010427b2-1.jpg
你可以看到,向导向工程文件中增加WebService1.cs类:

010427b2-2.jpg
将ServiceName(服务名)设置成你自己需要的名字,这样在测试期间就更容易识别你的服务,也可以通过编写代码来设置这个属性,方法是this.ServiceName = "mcWinService":

010427b2-3.jpg
向导在WebService1.cs中增加的默认代码
第二步:向服务中增加功能
在 WebService1.cs中我们可以看到,有两个被忽略的函数 OnStart和OnStop。

OnStart函数在启动服务时执行,OnStop函数在停止服务时执行。在这里,当启动和停止服务时,向一个文本文件中写入一些文字信息,代码如此
第三步:安装和运行服务
这个应用程序最后生成一个exe文件mcWinService.exe。要注册这个服务,你需启动开始菜单中的命令行按如下方式调用installutil:installutil C:/mcWebService/bin/Debug/mcWebService.exe。要卸载服务,使用 /u 选项:installutil /u C:/mcWebService/bin/Debug/mcWebService.exe。

第四步:启动和停止服务
在桌面用右键点击图标“我的电脑”选择管理菜单项(Manage),然后启动“服务和应用程序(Services and Applications)”中的服务(Services);你也可以直接从开始菜单中选择管理工具中的计算机管理(Computer Management)进入服务。这样你就能看到服务 mcWinService,右键单击弹出菜单中有启动和停止选项。

010427b2-4.jpg
第五步:测试服务
转到 temp 目录中,看看文本文件是否存在,有没有写入内容。

NT Service 编程 操作 NT 服务

操作 NT 服务: OpenSCManager   打开目标计算机上的“服务控制管理器”-SCM,返回指向该管理器的指针。 OpenService     打开服务,返回指向该服务的指针。 St...
  • thanklife
  • thanklife
  • 2017年04月07日 16:29
  • 195

C#创建Windows服务与安装

Windows服务与安装
  • xiaoguidangjiajia
  • xiaoguidangjiajia
  • 2016年08月30日 17:26
  • 1465

C#创建、安装一个Windows服务

关于WIndows服务的介绍,之前写过一篇:http://blog.csdn.net/yysyangyangyangshan/article/details/7295739。可能这里对如何写一个服务不...
  • yysyangyangyangshan
  • yysyangyangyangshan
  • 2013年08月29日 14:38
  • 44660

C#创建windows服务搭配定时器Timer使用实例

功能说明:C#创建一个windows服务,服务启动时D:\mcWindowsService.txt写入数据,服务运行期间每隔两秒写入当前时间。       原理这些就不说了,三语两语说不清楚,直...
  • u012252959
  • u012252959
  • 2015年09月15日 16:22
  • 2594

Windows下的服务控制管理器(SCM)

一、概要           服务管理器是用于管理系统服务的管理工具。一般常用于windows系统,使用这个工具你可以启动、停止服务;设置服务是自动、手动启动或禁用;查看某个服务的相关信息;设置...
  • u012541747
  • u012541747
  • 2016年03月26日 10:58
  • 598

windows NT的意义和各个版本

navigator.userAgent中的window NT 今天为了尝试查看网址的来源document.referrer,但是不知道每个浏览器的版本号,然后我就用navigator.userAge...
  • flyingpig2016
  • flyingpig2016
  • 2016年11月22日 10:23
  • 649

vb创建NT服务

'* ************************************************************** *    '*    程序名称:modNtSrv    '*  ...
  • liaomin416100569
  • liaomin416100569
  • 2013年01月21日 16:58
  • 408

vs2008 windows服务(C#) 开发与安装

写在前面,本文参考多处网上文章及自己的体会心得 下面说一下步骤 1. 新建一个项目 2. 从一个可用的项目模板列表当中选择Windows服务 3. 设计器会以设计模式打开 4. 从工具箱...
  • u012252959
  • u012252959
  • 2015年09月15日 13:20
  • 484

C#中使用EventLog类写Windows事件日志

在程序中经常需要将指定的信息(包括异常信息和正常处理信息)写到日志中。从C#3.0开始可以使用EventLog类(在System.Diagnostics命名空间中)将各种信息写入Windows日志。在...
  • cnbird2008
  • cnbird2008
  • 2013年07月24日 18:43
  • 3864

C# 自动运行代码 (创建windows 服务的形式 )

1.      新建项目 1.1 右键解决方案 – 添加 – 新建项目 1.2 已安装模板 - windows  -  windows服务 – 输入名称 – 点...
  • Robert_ls
  • Robert_ls
  • 2016年04月18日 14:43
  • 414
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用C#创建Windows(NT)服务
举报原因:
原因补充:

(最多只允许输入30个字)