知识大全 用C#做Windows Services
Posted 属性
篇首语:有上不去的天,没过不去的关。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用C#做Windows Services相关的知识,希望对你有一定的参考价值。
用C#做Windows Services 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Windows服务在Visual Studio 以前的版本中叫NT服务 在启用了新的名称 用Visual C# 创建Windows服务不是一件困难的事 本文就将指导你一步一步创建一个Windows服务并使用它 这个服务在启动和停止时 向一个文本文件中写入一些文字信息
第一步 创建服务框架
要创建一个新的 Windows 服务 可以从Visual C# 工程中选取 Windows 服务(Windows Service)选项 给工程一个新文件名 然后点击 确定
你可以看到 向导向工程文件中增加Service cs类
其中各属性的含意是:
ü Autolog 是否自动写入系统的日志文件
ü CanHandlePowerEvent 服务时候接受电源事件
ü CanPauseAndContinue 服务是否接受暂停或继续运行的请求
ü CanShutdown 服务是否在运行它的计算机关闭时收到通知 以便能够调用 OnShutDown 过程
ü CanStop 服务是否接受停止运行的请求
ü ServiceName 服务名
第二步 向服务中增加功能
在 cs代码文件中我们可以看到 有两个被忽略的函数 OnStart和OnStop
OnStart函数在启动服务时执行 OnStop函数在停止服务时执行 在这里 当启动和停止服务时 向一个文本文件中写入一些文字信息 代码如下:
protected override void OnStart(string[] args)
FileStream fs = new FileStream(@ d:\\mcWindowsService txt FileMode OpenOrCreate FileAccess Write);
StreamWriter m_streamWriter = new StreamWriter(fs);
m_streamWriter BaseStream Seek( SeekOrigin End);
m_streamWriter WriteLine( mcWindowsService: Service Started +DateTime Now ToString()+ \\n );
m_streamWriter Flush();
m_streamWriter Close();
fs Close();
protected override void OnStop()
FileStream fs = new FileStream(@ d:\\mcWindowsService txt FileMode OpenOrCreate FileAccess Write);
StreamWriter m_streamWriter = new StreamWriter(fs);
m_streamWriter BaseStream Seek( SeekOrigin End);
m_streamWriter WriteLine( mcWindowsService: Service Stopped +DateTime Now ToString()+ \\n );
m_streamWriter Flush();
m_streamWriter Close();
fs Close();
第三步: 将安装程序添加到服务应用程序
Visual Studio NET 随附有安装组件 可用来安装与服务应用程序相关联的资源 安装组件在正在安装到的系统上注册一项单个的服务 并使服务控制管理器知道该服务的存在
要正确安装服务 并不需要在安装程序中进行任何特殊编码 但是 如果需要向安装进程添加特殊功能 则可能偶尔需要修改安装程序的内容
将安装程序添加到服务应用程序的步骤是:
在解决方案中 访问要向其中添加安装组件的服务的Design视图
在属性窗口中 单击添加安装程序链接
这时项目中就添加了一个新类 ProjectInstaller 和两个安装组件 ServiceProcessInstaller 和 ServiceInstaller 并且服务的属性值被复制到组件
若要确定如何启动服务 请单击 ServiceInstaller 组件并将 StartType 属性设置为适当的值
ü Manual 服务安装后 必须手动启动
ü Automatic 每次计算机重新启动时 服务都会自动启动
ü Disabled 服务无法启动
将serviceProcessInstaller类的Account属性改为 LocalSystem
这样 不论是以哪个用户登录的系统 服务总会启动
第四步 生成服务程序
通过从生成菜单中选择生成来生成项目
注意 不要通过按 F 键来运行项目——不能以这种方式运行服务项目
第五步 安装服务
访问项目中的已编译可执行文件所在的目录
用项目的输出作为参数 从命令行运行 InstallUtil exe 在命令行中输入下列代码
installutil yourproject exe
卸载服务
用项目的输出作为参数 从命令行运行 InstallUtil exe
cha138/Article/program/net/201311/13879相关参考
用C#编写发手机中文短信息Windows服务 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 最近
知识大全 用Visual C#调用Windows API函数
用VisualC#调用WindowsAPI函数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! A
C#创建Windows服务 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &
使用C#创建Windows服务 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  
C#代码关闭WindowsXP 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  
C#调用WindowsAPI函数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Api函数是构筑
C#实现动态调用WindowsDLL 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 部分代码来自
C#的Windows编程中多语言的实现 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 实现多语言
VisualC#中调用Windows服务初探 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Wi
C#中调用WindowsAPI的要点 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在NetFr