windows services 是运行在后台的服务程序,可以用 vs2013 来创建,创建的步骤如下:

1.打开 vs2013 , Files -->New Project --> windows-->windows service  在本示例中的名称为: WindowsServiceDemon 如下图所示 

2.创建好的项目的解决方案如下:

Program.cs 是程序的入口处,里面包含程序的入口方法,Servicel.cs 是服务类文件,里面包含服务的内容,所有的逻辑都在这里,Services.cs 包含两部分:一部分是Designer 可视化设计界面,可以在这里添加各种组件,另一部分是代码文件,里面主要写逻辑,默认包含3个方法:OnStart、OnStop 和构造函数,还可以添加 OnPause 和 OnContinue 方法,在构造函数里,设置服务的名称:

base.ServiceName="wisdomhu";

Services1.cs 完整的代码如下:

 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Threading.Tasks; namespace WindowsServiceDemon
{
public partial class Service1 : ServiceBase
{
public Service1()
{
InitializeComponent(); // 构造函数
base.ServiceName = "wisdomhu";//设置服务名称,与后面的安装服务名称要一致 } protected override void OnStart(string[] args)
{
//TODO 服务启动时的相关逻辑
} protected override void OnStop()
{
//TODO 服务停止时的相关逻辑
}
}
}

Services.cs

3.双击 Services1.cs文件,进入设计页面,在空白处单击鼠标右键--> Add Installer (添加安装器)

添加完后,页面上会显示两个标签,

单击选中 serviceProcessInstaller1,鼠标右键 -->Properties (显示属性) 在右侧的属性栏中,修改属性值,将Account 属性设置成 localSystem,这是服务的类型

4. 按照上面的步骤,设置 serviceInstaller1 的属性,其中 DelayedAutoStart 表示是否延迟启动,Descirption 表示:服务的说明文字 ,DisplayName 表示: 服务的显示名称,ServicesDependOn 表示:服务所依赖的其它服务项,StartType 表示: 服务的启动类型: 自动、手动、禁止, Partent表示:服务所依赖的父服务 , ServicesName 表示: 服务的名称,服务的名称要与在第二步代码中设置的服务的名称一致。

5.对项目进行编译,并持备 bin-->debug 下的所有文件 到 自己指定的文件夹中,这里的文件夹名称是: WindowsServicesDemon

6. 在 WindowsServicesDemon 文件夹中,分别添加两个文件: Installer.bat 和 UnInstaller.bat (可通过文本编辑器来添加)它们分别表示:服务的安装和服务的卸载,其中的内容分别是:

%~dp0InstallUtil.exe %~dp0WindowsServiceDemon.exe
pause
%~dp0InstallUtil /u %~dp0WindowsServiceDemon.exe
pause

注: 开头一定要留 %~dp0  符号,表示将目录更改为当前目录,如果不加,可能会出错。

7. 从 C:\Windows\Microsoft.NET\Framework\v4.0.30319 找到 InstallUtil.exe 和 InstallUtil 文件,并把这两个文件拷备到 第 5步所创建的文件夹中,这里是 WindowsServicesDemon ,然后 选 中 Installer.bat 文件,以管理员的方式运行,如果一切正常,将会看到这样的结果:

服务已经成功安装,打开 服务,将会看到,刚才安装的 wisdomhu 服务

若要卸载服务时,只要以管理员的方式运行 UnInstaller.bat 就可以了。

用 vs2013 创建 windows service 程序的更多相关文章

  1. VS2010 创建 windows service 程序

    参考网上保护眼睛程序,自写程序如下. 1.创建一个名词为“CareEyeService”,类型为“WindowsService”的应用程序. 自动生成代码如下图: 2.修改ServiceCareEye ...

  2. C#Windows Service程序的创建安装与卸载

    C#Windows Service程序的创建安装与卸载 一.开发环境 操作系统:Windows7x64 sp1 专业版 开发环境:Visual studio 2013 编程语言:C# .NET版本: ...

  3. C# 创建Windows Service(Windows服务)程序

    本文介绍了如何用C#创建.安装.启动.监控.卸载简单的Windows Service 的内容步骤和注意事项. 一.创建一个Windows Service 1)创建Windows Service项目 2 ...

  4. C#创建Windows Service(Windows 服务)基础教程

    Windows Service这一块并不复杂,但是注意事项太多了,网上资料也很凌乱,偶尔自己写也会丢三落四的.所以本文也就产生了,本文不会写复杂的东西,完全以基础应用的需求来写,所以不会对Window ...

  5. VS2013创建Windows服务 || VS2015+Windows服务简易教程

    转自:https://www.cnblogs.com/no27/p/4849123.htmlhttps://blog.csdn.net/ly416/article/details/78860522 V ...

  6. 创建Windows Service

    基本参照使用C#创建Windows服务,添加了部分内容 目录 创建Windows Service 可视化管理Windows Service 调试 示例代码 创建Windows Service 选择C# ...

  7. .NET 6学习笔记(2)——通过Worker Service创建Windows Service

    通过Visual Studio中的Windows Service模板,我么可以创建.NET Framework版本的Windows Service,网络上对此已有详细且丰富的各路教程.但在我们升级到. ...

  8. 跟我学Windows Azure 三 使用vs2013创建windows azure web site

    首先我们需要登陆我们的windows azure上,然后访问 https://manage.windowsazure.cn/publishsettings/index 他会让我们下载我们的订阅证书文件 ...

  9. C# 创建Windows Service

    当我们需要一个程序长期运行,但是不需要界面显示时可以考虑使用Windows Service来实现.这篇博客将简单介绍一下如何创建一个Windows Service,安装/卸载Windows Servi ...

  10. .NET开发Windows Service程序 - Topshelf

    在实际项目开发过程中,会经常写一些类似定时检查,应用监控的应用.这类应用在windows平台通常都会写成window service程序. 在百度上搜索一下'c#开发windows service', ...

随机推荐

  1. KB975517 "The update does not apply to your system"

    https://www.manageengine.com/products//desktop-central/patch-management/Windows-Vista-Ultimate-Editi ...

  2. 【solr】solr5.0整合中文分词器

    1.solr自带的分词器远远满足不了中文分词的需求,经查使用最多的分词器是solr是mmseg4j分词器,具体整合大家可以参考 https://github.com/zhuomingliang/mms ...

  3. sql语句延时执行或者是指定时间执行

    --使用waitfor语句延迟或暂停程序的执行 --waitfor{delay'time'|time 'time'} delay是指间隔时间 最长到24小时 time是指定时间执行 waitfor d ...

  4. 【原】C# decimal字符串转成整数

    第一种方法: string na="1000.53"; int a=int.Parse(na.Substring(0,na.IndexOf('.')));//返回值a=1000 第 ...

  5. 分析MySQL慢日志(转)

    使用 MySQL自带命令 mysqldumpslow 查看 OPTIONS -s ORDER ORDER, 主要有 c, t, l, r 和 ac, at, al, ar, 分别是按照 query次数 ...

  6. (WF)

    Caught: System.InvalidOperationException: The argument of type 'XXX' cannot be used. Make sure that ...

  7. Spark配置参数调优

    1.配置多个executor 在项目中,由于数据量为几百万甚至千万级别,如果一个executor装载的对象过多,会导致GC很慢.项目中,我们使一个worker节点执行app时启动多个executor, ...

  8. SOA_环境安装系列5_Oracle ADF安装SOA Extensions(案例)

    2015-01-02 Created By BaoXinjian

  9. BPEL_Oracle BPEL新一代工作流介绍(概念)

    2014-11-02 Created By BaoXinjian

  10. 在Where中对列使用函数,将导致其不可索引

    在Sql语句的Select部分对字段编写标量函数是完全可以的,但是下面代码: select EmpNo,LastName from Emp 应当写为 select EmpNo,LastName fro ...