`
njmnjx
  • 浏览: 232009 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

自动执行服务程序 两法

阅读更多
创建服务程序,利用此程序完成自动执行的工作。两种方法:
首先创建服务程序,下图



一、timer法
添加timer控件,据说工具箱中已有的timer(System.Windows.Forms)不能执行此类程序,必须添加新的timer控件(system.Timers)。这两个Timer控件的命名空间不同。






拖曳控件到设计页面右键设置属性如执行间隔等。双击添加事件执行以下测试代码
//Timer方法
        private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            int a = 0;
            String s = System.DateTime.Now.ToString();
            if (!File.Exists("D:\\bbbirdlog.txt"))
            {
                StreamWriter sr = File.CreateText("D:\\bbbirdlog.txt");
                sr.WriteLine("-------------------------START SRV---------------------");
                sr.WriteLine("现在Timer方法时间:{0}", s);
                sr.Close();
            }
            else
            {
                StreamWriter sr = File.AppendText("D:\\bbbirdlog.txt");
                sr.WriteLine("-------------------------START SRV---------------------");
                sr.WriteLine("现在Timer方法时间:{0}时间开始", s);
                sr.Close();
            }

            StreamWriter sr2 = File.AppendText("D:\\bbbirdlog.txt");
            sr2.WriteLine("-------------------------START SRV---------------------");
            sr2.WriteLine("Timer方法循环{0}次", a++);
            sr2.Close();

        }

二、线程法









 // 时间扫描间隔
        private static int timeSpan = 3000;

        private Thread thMoniTask;//用来监测执行进度的线程

        public Service1()
        {
            InitializeComponent();
        }

        
        protected override void OnStart(string[] args)
        {
            //启动线程
            thMoniTask = new Thread(new ThreadStart(MyProc));
            thMoniTask.Start();
        }

        protected override void OnStop()
        {
        }

        //线程法
        private void MyProc()
        {
            int a = 0;
            while (true)
            {
                String s = System.DateTime.Now.ToString();
                if (!File.Exists("D:\\bbbirdlog.txt"))
                {
                    StreamWriter sr = File.CreateText("D:\\bbbirdlog.txt");
                    sr.WriteLine("-------------------------START SRV---------------------");
                    sr.WriteLine("现在线程法时间:{0}", s);
                    sr.Close();
                }
                else
                {
                    StreamWriter sr = File.AppendText("D:\\bbbirdlog.txt");
                    sr.WriteLine("-------------------------START SRV---------------------");
                    sr.WriteLine("现在线程法时间:{0}时间开始", s);
                    sr.Close();
                }
                // 扫描间隔
                Thread.Sleep(timeSpan);

                StreamWriter sr2 = File.AppendText("D:\\bbbirdlog.txt");
                sr2.WriteLine("-------------------------START SRV---------------------");
                sr2.WriteLine("线程法循环{0}次", a++);
                sr2.Close();

            }
        }


启动或安装:







服务启动设置:
如果无法启动服务,请将项目文件夹赋予权限如everyone则可以启动




运行效果:




附:源代码
http://dl.iteye.com/topics/download/33cc726e-57d5-3d1d-887e-f9cbe7c76f2a
  • 大小: 81.5 KB
  • 大小: 32.4 KB
  • 大小: 53.3 KB
  • 大小: 11.2 KB
  • 大小: 11.5 KB
  • 大小: 12.8 KB
  • 大小: 3.8 KB
  • 大小: 3.8 KB
  • 大小: 25 KB
  • 大小: 12 KB
分享到:
评论

相关推荐

    自动操作魔法师 v4.4.7.2 官方破解中文版

    通过自动操作魔法师 的定时器,您可以安排一个维护任务的启动时间,当设置的时间到来时,这个任务将自动执行,就像您在现场操作一样。 4、普通计算机用户 自动操作魔法师内置了关机的相关命令,实现定时关机将极其...

    中断服务程序设计实验

    确定了中断类型号,还要把中断服务程序入口地址置入中断向量表,以保证在中断响应时CPU能自动转入与该类型号相对应的中断服务程序。下面介绍两种将中断服务程序入口地址置入中断向量表的方法。 (1) 直接装入法 用...

    在RAM中执行程序代码

    在RAM中执行程序代码 【实验目的】 掌握片外RAM扩展方法(重点是硬件接法,而程序操作很简单)。 弄清楚什么是“哈佛存储结构”和“冯·诺依曼存储结构”。 【硬件接法】 P1.2接交流蜂鸣器。 请认真参考硬件...

    自动操作魔法师-crx插件

    语言:English,中文 (简体) 自动操作魔法师和谷歌浏览器之间的连接器,为执行网页自动化任务提供支持。 Chrome浏览器中用于机器人流程自动化任务的Macro Expert模块。

    自动驾驶汽车硬件系统概述

    自动驾驶研发仿真测试流程 所以在自动驾驶中,安全是自动驾驶技术开发的第一天条。为了 降低和避免实际道路测试中的风险,在实际道路测试前要做好充分的 仿真、台架、封闭场地的测试验证。 软件在环( Software in loop...

    Windows 自动化工具 FastKeys 4.24.zip

    运行程序,打开站点或功能强大的脚本以自动执行Windows。 鼠标手势 使用鼠标手势执行任务。 将手放在鼠标上,并通过快速移动自动完成任何操作。 宏记录器 记录击键和鼠标操作,以教导计算机自动执行任务。 剪贴...

    C语言程序设计课程中的计算思维探析_汪红兵.pdf

    法操作支持下顺序自动地执行以及函数之间的调用在内存堆栈区支持下自动地进行跳转。最 后,针对计算思维的抽象和自动化特征,给出了 C 语言程序设计课程在教学内容、教学方式 和考核内容上的一些建议和措施。

    软件工程与软件测试自动化教程

    16. 2 一个稍大一点的VB程序自动化测试分析实例 16. 2. 1 利用J-charts得到系统的总体结构及覆盖信息 16. 2. 2 利用逻辑流程图详细理解代码逻辑 16. 2. 3 联机程序文档 附录A 结构图的方框标识 附录B 控制...

    并行时域有限差分法网格自动剖分技术 (2013年)

    为了构建适合于时域有限差分法求解的离散几何模型,摆脱大量繁杂的手工操作,提出了一种高效的大规模并行时域有限差分法网格自动剖分技术.该并行剖分方法将三角面元计算机辅助设计模型文件作为输人数据,能够自动建立...

    VFP数据库系统Visual-FoxPro程序设计基础(1).pdf

    当运行程序时,系统会根据一定的次 序自动执行包含在程序文件中的命令。 6.1.2 算法介绍 1. 算法概述 算法: 是解决"做什么"和"怎么做"的问题。广义地说,为解决一个问题 而采取的方法和步骤,就称为"算法"。 一个...

    机械原理课程设计 锁梁自动成型机床搬弯机构设计

    锁梁自动成型机床扳弯机构设计 目录 一、机械原理设计任务书及工作要求 ………………………………………… 3 二、功能原理及工艺分解 ……………………………………………………… 5 三、机械机构运动转换功能...

    SOLARIS高级系统管理员指南

    自动加载程序服务;服务访问工具;应用软件;Shell编程介绍;系统安全。本书可供计算机系统管理、维护人员和计算机应用人员使用。 目 录 译者序 前言 第一部分 邮件服务 第1章 了解邮件服务 1 1.1 邮件服务术语 1 ...

    MindSpore是一种适用于端边云场景的新型开源深度学习训练/推理框架

    在程序运行时记录算子过载正向执行时网络的运行轨迹,对动态生成的数据流图应用链式法则,实现自动微分。 代码变换法: 该技术是从功能编程框架演进而来,以即时编译(Just-in-time Compilation,JIT)的形式对中间...

    服务器运行报告模板.doc

    CPU使用记录:显示处理器的使用程序随时间的变化情况的图表,图表中显示的采样情况 取决于"查看"菜单中所选择的"更新速度"设置值,"高"表示每秒2次,"正常"表示每两秒 1次,"低"表示每四秒1次,"暂停"表示不自动更新...

    自动打印机

    4)自动打印机系统采用一个电机驱动主轴控制三个机构的执行构件完成各自的功能运动,如何将三个执行机构的主动件均固定在主轴上而达到设计要求是需要认真考虑的。 1.4 设计任务 (1) 按工艺动作要求拟定运动循环图...

    自动配料系统设计PLC课程设计报告.doc

    4 3.4 控制方案 5 第四章 硬件设计 6 4.1 PLC硬件构成 6 4.1.1 PLC各元器件参数 7 4.1.2 PLC系统的辅助设备 7 4.1.3 注意事项 8 4.2 自动配料系统 9 4.2.1 自动配料系统控制图 9 第五章 软件设计 11 5.1总设计流程图...

    基于matlab的车牌定位系统(两种分割算法:边缘分割以及颜色分割+模板匹配法+亲测可用)

    1、具有简单可操作的人机交互界面GUI,包括选取图片,执行算法,保存结果图像等功能。 2、分割出汽车车牌结果图像,包括2种分割算法(颜色分割以及边缘分割)。 3、能处理黑白和彩色的照片。包括2种分割算法(颜色...

    【机器学习/深度学习】mindspore MindSpore is a new open source deep learnin

    在程序运行时记录算子过载正向执行时网络的运行轨迹,对动态生成的数据流图应用链式法则,实现自动微分。 代码变换法: 该技术是从功能编程框架演进而来,以即时编译(Just-in-time Compilation,JIT)的形式对中间...

Global site tag (gtag.js) - Google Analytics