先给一个LINK~~别人写的创建服务的步骤

好,这里感谢一下本园的“技术无极限”这们人兄;

copy他的: (红色为我加的)

. 新建一个项目
2. 从一个可用的项目模板列表当中选择Windows服务
3. 设计器会以设计模式打开
4. 从工具箱的组件表当中拖动一个Timer对象到这个设计表面上 (注意: 要确保是从组件列表而不是从Windows窗体列表当中使用Timer) ,即它所属的命名空间是:System.Timers.Timer
5. 设置Timer属性,Interval属性1000毫秒;(每秒触发一次timer的Elapsed事件)

6. 然后为这个服务填加功能
7.双击这个Timer,然后在里面写一些代码,比如(下面我以调用一个生成XML文件的EXE为例)

 private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            DateTime dt = DateTime.Now;
            int hour = 3, minute = 0, second = 0;
            if (ConfigurationManager.AppSettings["RunTime"] != null)
            {
                string[] setTime = ConfigurationManager.AppSettings["RunTime"].Split(':');
                if (setTime.Length == 3)
                {
                    int.TryParse(setTime[0], out hour);
                    int.TryParse(setTime[1], out minute);
                    int.TryParse(setTime[2], out second);
                }
            }
            if (dt.Hour == hour && dt.Minute == minute && dt.Second == second)
            {
                string sitemapExePath = ConfigurationManager.AppSettings["SiteMapExePath"];
                if (sitemapExePath != null && Directory.Exists(sitemapExePath))
                {
                    try
                    {
                        Process proc = new Process();
                        proc.StartInfo.WorkingDirectory = sitemapExePath;
                        proc.StartInfo.UseShellExecute = true; //use false if you want to hide the window
                        proc.StartInfo.FileName = "ConsoleSiteMap";
                        proc.Start();
                        proc.WaitForExit();
                        proc.Close();
                        WriteLog("生成成功");
                    }
                    catch (Exception ex)
                    {
                        WriteLog("Error:" + ex.Message);
                    }
                }
            }
        }

(执行时间是通过配置文件读的)

8. 将这个服务程序切换到设计视图
9. 右击设计视图选择“添加安装程序”
10. 切换到刚被添加的ProjectInstaller的设计视图
11. 设置serviceInstaller1组件的属性: 
    1) ServiceName = My Sample Service
    2) StartType = Automatic (开机自动运行)
12. 设置serviceProcessInstaller1组件的属性  Account = LocalSystem

下面步骤则是安装服务;你可以WIN+R,输入cmd调出命令 框,

cd 到WINDOWS文件夹Microsoft.NET\Framework\v4.0.30319,(看你装的framework是多少了;)

13. 改变路径到你项目所在的bin\Debug文件夹位置(如果你以Release模式编译则在bin\Release文件夹)

14. 执行命令“InstallUtil e:\MyWindowsService.exe”注册这个服务,使它建立一个合适的注册项。(InstallUtil这个程序在WINDOWS文件夹\Microsoft.NET\Framework\4.0.30319下面)

e:\MyWindowsService.exe这个为刚才那个服务程序的路径,这里只是举个例子;

15. 右击桌面上“我的电脑”,选择“管理”就可以打计算机管理控制台,(或者win+R --> services.msc)
16. 在“服务和应用程序”里面的“服务”部分里,你可以发现你的Windows服务已经包含在服务列表当中了

17. 右击你的服务选择启动就可以启动你的服务了

那就会在你设定的时间执行相关的功能了(这里是调用EXE生成XML文件),另。。改过配置文件的话要restart服务才有效的;

转载于:https://www.cnblogs.com/SeaSun/archive/2011/05/20/2052017.html

windows服务应用--做个简单的定时调用EXE功能(笔记)相关推荐

  1. 用C#做个简单的计时器(秒表功能)

    先在窗口中加入一个计时器控件:(timer1)用于触发计时:一个Label控件:(bable1)用于显示时间:两个按钮:(btnStar)用于开始/停止计时,(btnClear)用于计时器清零. 声明 ...

  2. C#创建Windows服务

    利用VS.NET创建C# Windows服务 在很多应用中需要做windows服务来操作数据库等操作,比如 (1)一些非常慢的数据库操作,不想一次性去做,想慢慢的通过服务定时去做,比如定时为数据库备份 ...

  3. 利用vs.net快速开发windows服务(总结)

    引用 http://www.cnblogs.com/lovecherry/archive/2005/03/25/125527.html 在很多应用中需要做windows服务来操作数据库等操作,比如 ( ...

  4. 制作windows服务(java)

    前言 在之前我写了篇如何调用微信扫码支付接口的博客http://blog.csdn.net/qq_32574435/article/details/78952325,但是这个存在一个问题,就是在用户支 ...

  5. Wcf 基础教程 服务寄宿之 Windows 服务寄宿

    wcf的寄宿方式多种多样,今天我们一起来探讨一下windows 服务的寄宿方式,其实明白了控制台的寄宿方式,在windows下的寄宿方式也是一样,只不过是操作方式有点区别.编程代码基本是一样的. 我们 ...

  6. 使用windows服务更新站点地图

    由于公司平台访问人数逐渐增多,公司项目的数据库已经几次出现宕机现象.为减轻数据库压力,我上个月对公司项目做了下调整.把新闻板块提取出来单独一个站点,单独一个数据库.减少了主站点和数据库的负担和压力. ...

  7. python写一个服务_写一个Python的windows服务

    1. 安装pywin32和pyinstaller pip install pywin32 pip install pyinstaller 2.写一个服务Demo # -*- coding: utf-8 ...

  8. asp.net 控制windows服务

    asp.net 控制windows服务 最近做一个小的项目,经理要求winform与web都可操作.于是将其做成服务,winform下调用很简单.asp.net下大部分过程是一样的.但需要涉及到用户的 ...

  9. 安装MongoDB(做成Windows服务)并加载C#驱动程序

    一 Mongodb简介: 通过查询网上的一些信息来介绍一下Mongodb的优势:MongoDB是一个面向文档的数据库,目前由10gen开发并维护,它的功能丰富,齐全,完全可以替代MySQL.在使用Mo ...

最新文章

  1. Docker(十):Docker实战 Docker 安装 Nginx
  2. Spring Boot Profile
  3. numpy.ravel() vs numpy.flatten()
  4. php文件在桌面删除不了图片吗,删除windows桌面上某个应用程序的图标,意味着什么...
  5. ofstream写文件
  6. 配置httpd虚拟主机
  7. 大数据在金融领域的应用及问题时
  8. android:inputType 参数详解
  9. 002-Mac怎么给Photoshop添加字体
  10. pytorch detach用法
  11. 延庆区计算机学校,【基层链接】发展中的校园欢迎你——延庆五中现代化的教学专室与设备系列...
  12. 职场四种人:打工者、职业人、企业人和社会人,你是那种人?
  13. 化模糊为清晰的图片清晰术:动手尝试修复模糊老照片
  14. 快速构建属于自己的博客网站
  15. 记录从指尖悄悄流逝的时间
  16. 11 OptionsMenu 菜单
  17. 书籍 -- 《高性能MySQL》持续更新中(四)
  18. 解决无字幕问题--射手影音VS迅雷影音
  19. linux dns服务配置,在Linux上配置DNS服务
  20. Blockly game

热门文章

  1. 这样的开源方式,你喜欢吗?
  2. 逻辑回归详解及Python实现
  3. python主程序子程序_python子程序
  4. 相机模型与标定(八)--传统相机标定算法简介
  5. linux 烧录树莓派镜像,Linux命令行烧录树莓派镜像至SD卡
  6. Hive 求top N
  7. 亚稳态到底是什么呢?
  8. 使用微信JSSDK自定义微信分享标题、描述、和图标
  9. 理解与学习linux 文件系统的目录结构
  10. 能套用的tab栏切换