用C#创建Windows(NT)服务

window|创建

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

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

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

向导在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,右键单击弹出菜单中有启动和停止选项。

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

时间: 2024-10-03 07:06:43

用C#创建Windows(NT)服务的相关文章

[原创]W2k Driving 学习笔记(二)使用GCC创建 Windows NT 下的内核DLL

         再温习<<Windows 2000 Driving>>分层驱动程序一章的时候,看到了关于紧耦合 驱动连接方式,这种方式不依赖于I/O管理器的串联,而是直接调用内核例程,这样可以大 大的提高驱动的执行效率.      为了实现这样一种功能,必须提供一种类似于在用户模式中DLL的机制,只不过该"DLL" 是加载到内核中的.其实Windows NT 内核本身早就利用了这样机制,比如Hal.dll.ntoskrnl.exe和某些类驱动程序等,他们分别为

记一例Windows Update服务丢失的恢复

背景信息: windows update无法更新,提示服务未运行 1,打开services.msc,查看windows update服务实际不存在 2,使用命令行尝试查看服务状态没有返回信息 sc qc wuauserv sc query wuauserv 正常的返回如下: ![image](https://yqfile.alicdn.com/f4efb680ba64d8f0da865ccf2976fd6839f5c345.png) 3,查看注册表,注册表相关信息正常,dll文件也存在 Wind

How to Create a Windows NT/ Windows 2000 Service(如何创建一个Windows NT/ Windows 2000 服务)

Introduction A Windows service is an EXE specially designed to communicate with the SCM (Service Control Manager) of Windows NT/2000. The Service Control Manager (SCM) maintains a database of installed services and driver services, and provides a uni

用.NET创建Windows服务

window|创建 我们将研究如何创建一个作为Windows服务的应用程序.内容包含什么是Windows服务如何创建.安装和调试它们.会用到System.ServiceProcess.ServiceBase命名空间的类.  什么是Windows服务 Windows服务应用程序是一种需要长期运行的应用程序它对于服务器环境特别适合.它没有用户界面并且也不会产生任何可视输出.任何用户消息都会被写进Windows事件日志.计算机启动时服务会自动开始运行.它们不要用户一定登录才运行它们能在包括这个系统内的

从NT服务启动Windows程序

介绍 通常,NT服务是控制台应用程序,它没有消息循环.不必等到用户 登陆电脑,NT服务便能启动,并且在用户登出之后,它也不会停止运行.然而, 许多现存的ActiveX控件很难,有时候根本不可能在控制台程序中使用. 另一方面,MFC和VB程序都是Windows应用程序,所以在MFC或VB程序中使用 ActiveX控件相当简单.要是能使MFC和VB程序像NT服务一样运行就不错了: • 在用户登陆电脑之前就启动 • 在用户登出电脑之 后继续运行 可以用Windows程序的形式直接写NT服务,但是本文要

用.NET创建Windows服务的方法第1/2页_C#教程

译者说明:我是通过翻译来学习C#的,文中涉及到的有Visual Studio.NET有关操作,我都根据中文版的VS.NET显示信息来处理的,可以让大家不致有误解. 作者:Mark Strawmyer 我们将研究如何创建一个作为Windows服务的应用程序.内容包含什么是Windows服务,如何创建.安装和调试它们.会用到System.ServiceProcess.ServiceBase命名空间的类. 什么是Windows服务? Windows服务应用程序是一种需要长期运行的应用程序,它对于服务器

如何创建Windows服务

创建Windows服务的项目 新建项目->C++语言->ATL->ATL项目->服务(EXE) 这样就创建了一个Windows服务项目. 生成的解决方案包含两个项目:Services.ServicesPS .其实主要是使用Services,VS2012下不清楚为什么生成了两个项目. 注册Windows服务 Windows服务第一次启动时,是需要注册的,注册方式可以通过命令行或批处理的方式. Services.exe -regserver 卸载Windows服务 既然服务需要注册,那

创建windows服务,定时监控网站应用程序池

最近网站总是报"Timer_Connection"错误,导致该网站所使用的应用程序池由于错误过多停止运行,网站也就出现了service unvaliable,无法访问,在网上查了很多资料, 结果很让人无奈,这个问题已经困扰我了很久,一直没有得到解决,后来同事发来一篇文章让我有了新的解决方法,虽然不能根本解决这个报错,但可以快速清空并恢复指定的应 用程序池 不多说了,看看下面这个方法吧,主要是创建一个连接(如你要监控的网站的一个地址),如果能访问到这个页面说明网站应用程序池没有问题,如果

使用Windows Azure 创建的云服务系统是Centos 6.5的,求根用户密码是什么

问题描述 使用Windows Azure 创建的云服务系统是Centos 6.5的,求根用户密码是什么 使用Windows Azure 创建的云服务系统是Centos 6.5的,求根用户密码是什么 解决方案 在创建虚拟机的时候你可以指定root密码,如果你忘记了,即便你联系客服,客服也帮不了你.你只能重装系统了. 解决方案二: 您好,我同意上面的观点.对于Windows操作系统版本的Azure虚拟机而言,你在创建虚拟机的时候可以安装VM代理,通过VM代理来修改管理员密码.但是目前从 Linux