`
njmnjx
  • 浏览: 235914 次
  • 性别: 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
分享到:
评论

相关推荐

    自动操作魔法师注册

    这款软件可能是一个自动化工具,用于帮助用户执行一系列预先设定的操作,比如数据输入、文件管理、网页浏览等,从而提高工作效率。软件的版本号为2.9.9.5,通常版本号的更新意味着修复了已知问题、增加了新功能或...

    自动操作魔法师

    通过预设一系列指令,程序能够执行各种任务,如文件管理、数据输入、系统设置等,无需人工持续干预。这款软件的核心功能在于其自动化脚本编写能力,用户可以通过图形化界面或者编程语言来创建自定义的工作流程。 在...

    并行程序的流程图分析法

    综上所述,文章详细介绍了并行程序流程图分析法的概念、作用和优势,并通过Ada并行程序的具体案例,展示了如何运用这种方法来理解和分析并行程序,特别是在检查和消除死锁方面的重要作用。此外,还对比了Petri网分析...

    C程序流程图自动生成器

    C程序流程图是一种图形表示法,用于描述C程序的控制流和逻辑结构。它通过图形化的方式帮助程序员理解和分析代码的执行顺序,是程序设计过程中的一个重要辅助工具。"C程序流程图自动生成器"是一种软件工具,它可以...

    使用顺序控制法设计PLC程序时避免动作不执行的方法.pdf

    PLC是以扫描的方式工作的,它按照一定的顺序从输入读取数据,执行程序,然后更新输出。这个过程周而复始,如果编写程序时没有考虑扫描周期的影响,那么某些步骤可能会因为前面步骤的条件提前满足而被跳过。为了避免...

    Matlab调用Surfer自动化实现电法等值线图的批量绘制.pdf

    通过Matlab的GUI图形用户接口技术,用户可以编制界面,并在主程序中调用Surfer自动化对象作为服务器,实现Surfer的自动化控制,进而批量处理电法等值线图的绘制。 Surfer的Script脚本语言平台支持自动化编程,其...

    乐玩8.172游戏自动登录多线程执行任务易语言源码逍遥Q缘

    在编写自动化脚本时,需要了解每个任务的具体流程和规则,例如任务触发条件、执行步骤、所需道具等。然后,通过易语言编写代码来模拟玩家的操作,如移动角色、点击界面上的按钮、读取和处理游戏数据等。 逍遥某缘...

    中断服务程序设计实验

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

    医保接口自动传输程序-winservice

    【医保接口自动传输程序-winservice】是一种在Windows操作系统中运行的服务,主要用于医疗机构与医保系统的数据交互。在医疗行业中,医保接口程序是连接医院信息系统(HIS)与医保信息系统的关键组件,确保医疗费用...

    自动阈值迭代法及Otsu法实验报告

    【自动阈值迭代法及Otsu法】是数字图像处理中的重要技术,主要用于图像的二值化,即将图像中的像素点分为两类:前景和背景。这两种方法在图像分割领域广泛应用,尤其对于图像分析和模式识别有着显著效果。 **一、...

    执行程序与破产程序的衔接机制研究.pdf

    执行程序和破产程序作为两种不同的债权保障机制,各有其特点和作用。执行程序着重于单个债权的快速实现,通常由债权人直接申请法院强制执行债务人的财产。而破产程序则涉及全体债权人的公平清偿,通过集体清算或重整...

    有限元法程序设计方法

    有限元法程序设计是将复杂的有限元理论转化为可执行的计算机程序的过程,是有限元分析在实际工程应用中的核心。程序设计不仅需要深厚的有限元理论基础,还涉及到大量的数值计算方法,如线性代数方程组的求解、矩阵...

    基于51单片机的汽车自动刹车系统设计资料 包含源程序及原理图

    常见的算法有时间距离法、相对速度法等,以确保在必要时能及时、准确地执行刹车。 在硬件设计上,51单片机会连接到刹车系统的执行机构,如液压制动器或电动制动器。当系统决定刹车时,单片机会输出控制信号,驱动...

    MATLAB的梯度法,内点法,梯度法matlab程序,matlab

    在运行程序时,用户根据提示输入相关的参数,如初始解、步长、收敛阈值等,然后MATLAB会自动执行优化过程。 例如,对于一个简单的梯度法程序,用户可能需要定义一个目标函数(如二次函数),然后计算其梯度,接着在...

    九宫八数码自动求解程序

    "九宫八数码自动求解程序"是一种基于数学和逻辑的智能算法实现,它主要用于解决经典的九宫格(又称数字华容道)问题。在这个问题中,我们需要在3x3的方格内填入1到9的数字,使得每行、每列以及每个小3x3宫格内的数字...

    AHP层次分析法计算小程序

    在"AHP层次分析法计算小程序"中,我们可以理解这是一个专为执行AHP分析设计的用户界面友好的应用程序。它简化了AHP的计算过程,使得非专业人士也能轻松应用这一理论。以下是这个小程序可能包含的关键功能和知识点: ...

    一种基于SFC的自动售货机的PLC控制程序设计方案.pdf

    该文件是一篇关于基于顺序功能图(Sequential Function Chart,SFC)的自动售货机PLC控制程序设计方案的研究论文。以下为从标题、描述、标签和部分内容中提炼出的知识点: 1. 自动售货机的普及与控制:自动售货机...

    简洁的高斯消去法以及列主元高斯消去法C++程序

    总之,`gauss.cpp`程序实现了高斯消去法和列主元高斯消去法,通过C++编程语言对线性方程组求解的过程进行了抽象和自动化。程序的结构包含了行变换、行阶梯化和回代求解的核心逻辑,同时通过测试用例确保了算法的正确...

Global site tag (gtag.js) - Google Analytics