写一个服务程序的模板(网上还能搜到很多)

//unit UntService;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs,
  DB, ADODB,Registry,ActiveX;
type
  TService2 = class(TService)
    con1: TADOConnection;
    procedure ServiceExecute(Sender: TService);
    procedure ServiceAfterInstall(Sender: TService);
    procedure ServiceContinue(Sender: TService; var Continued: Boolean);
    procedure ServiceStart(Sender: TService; var Started: Boolean);
    procedure ServicePause(Sender: TService; var Paused: Boolean);
  private
    { Private declarations }
  public
    function GetServiceController: TServiceController; override;
    { Public declarations }
  end;
var
  Service2: TService2;
implementation
{$R *.DFM}
procedure ServiceController(CtrlCode: DWord); stdcall;
begin
  Service2.Controller(CtrlCode);
end;
function TService2.GetServiceController: TServiceController;
begin
  Result := ServiceController;
end;
procedure TService2.ServiceExecute(Sender: TService);
begin
 while not Terminated do
  begin
    ServiceThread.ProcessRequests(True);
    //do some thing;
    //这里VCL创建了一个线程,并在线程中实现了一个消息泵来接收消息
    //你可以把循环检测的事件加到这里
    Sleep(100);
  end;
end;
procedure TService2.ServiceAfterInstall(Sender: TService);
var
  Registry: TRegistry;
  key: String;
begin
  Registry  := TRegistry.Create;
  try
    Registry.RootKey := HKEY_LOCAL_MACHINE;
    key := ‘System/CurrentControlSet/Services/‘ + Name;
    if Registry.KeyExists(key) then
    begin
      Registry.OpenKey(key, True);
      Registry.WriteString(‘Description‘, ‘XXXXXXXXXXXXX‘);
      Registry.CloseKey;
    end;
  finally
    Registry.Free;
  end;
end;
procedure TService2.ServiceContinue(Sender: TService;
  var Continued: Boolean);
begin
  Continued := True;
end;
procedure TService2.ServiceStart(Sender: TService; var Started: Boolean);
begin
  CoInitialize(nil);
  try
    con1.Open;
  except
    LogMessage(‘Database connection error‘);
  end;
  Started := True;
end;
procedure TService2.ServicePause(Sender: TService; var Paused: Boolean);
begin
  Paused := True;
end;

end.

参考:http://www.cnblogs.com/key-ok/p/3358916.html

时间: 2024-08-30 06:16:45

写一个服务程序的模板(网上还能搜到很多)的相关文章

写一个简单的模板引擎

写一个简单的模板引擎 ES6 开始支持模板字符串(Template literals),支持如下的写法: `string text ${expression} string text`; 其实在很多模板引擎中,常常会有这样需求,比如常用的 doT,使用类似的语法 <div>{{=1+2}}</div> // 或者支持循环或者判断 {{for(var i in it){}}} <span>{{=i}}</span> {{}}} 简单插值的实现 我们先来看看一个

自己写一个快速开发android模板

自己写一个快速开发android模板 有时候有些代码以前写过,再开发的时候拿来用,就可以节约很多时间,毕竟写过的以前肯定有所了解,再写一次就没必要了,所以这次自己总结出很多应用都需要的一些共性的东西,写到一个模板,以后直接拿来用.首先分析一下: 1.一个应用,首先需要一个欢迎页面,用于展示公司logo啊,或者应用logo,大概展示两三秒. 2.然后就是登陆注册页面,几乎没有应用是没有登陆注册的吧? 3.打印吐司,activity跳转,activity覆盖别的activity,这些基本方法. 4.

写一个迷你模板引擎

一直想写一个模板引擎用在自己的代码上,因为之前用的一个开源的产品,每次需要变通的时候都会遇到一些局限性,不如自己写的实在,想改哪就改哪,于是今天花了一点时间造了一个很小的模板引擎,核心功能已经存在,其他的待到以后慢慢的扩充. 模板引擎说白了,就是找到页面上的占位符,然后替换掉,再插入到页面中,不管功能还是实现方法都极其简单. 占位符也就两个地方能够出现的: 文本节点 属性值 通过childNodes能够找到文本节点,通过attributes能够找到该元素下的所有存在属性值,所以请看代码,以下代码

我想写一个Linux下的C++程序库--记我的C++库设计历程:设计一个TCP服务程序

我想写一个Linux下的C++程序库,实现一些常用的功能. 我首先想到的就是实现一个TCP监听程序.该程序应该具有哪些功能呢? 1: 启动/停止监听 2: 有客户端连接时,通知调用者 3: 与客户端断开时,通知调用者 4: 有消息到达时,通知调用者 5: 尽量避免程序退出时有没有close的socket. 该程序的大体接口及结构主要用一个类表示,内容如下: #pragma once #include <functional> namespace Hi { /* * @ brief TCP监听会

再学IHanlder 类----------------关于Asp.net与iis原理网上看博客收获写一个验证码用一般处理程序记的好长时间前就写过不过现在再看有点不一样的感觉

建一个web网站 新建一般处理程序直接贴代码: using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.SessionState;using System.Drawing;using System.Text;using System.Drawing.Imaging; namespace HandlerStudy{    /// <summary>    /

使用python写一个监控mysql的脚本,在zabbix web上自定义模板

##先使用MySQLdb的接口关联数据库. [[email protected] python]# cat check_Mysql_custom.py #!/usr/local/bin/python '''author = chenmingle''' '''Description:get mysql status''' import os import sys try:     import MySQLdb as mysql except Exception, e:     print e   

用java代码写一个简单的网上购物车程序

1 需求:1.写一个商品类,有商品编号.商品名称.商品分类.商品单价属性.2.写一个商品条目信息类,有商品和数量两个属性,有商品总价格方法. 2 3 3.写一个购物车类,有添加商品方法.查看订单信息,删除商品,修改商品,清空购物车,求购物车中所有商品总金额方法.4.写一个测试类,测试上述方法. 4 5 商品类: 6 [java] view plain copy 7 8 public class Product { 9 private int productId;// 商品编号 10 privat

基于zabbix用Python写一个运维流量气象图

前言:同事问我,你写运维平台最先写哪一部分?好吧,还真把我问倒了,因为这是在问最应该放在放在第一位的东西~作为一个工作不足两年,运维不足一年的新手来说,还真不敢妄下评论,其实按照我的思路,觉得最重要的部分肯定是故障处理,报警,但是这一块怎么写?怎么说?肯定不能重复造轮子了,不过我最想写的是报表系统,思路是有的,但是一直耽搁了,详情参考http://youerning.blog.51cto.com/10513771/1708925. 好吧,在回到那个问题,应该先写哪个部分.我没回答,反问他了. 他

写一个属于自己的PHP的MVC框架(一)

最近想做个PHP的个人博客作为学习用,但是发现尽管把PHP函数用得很熟悉了,按照常规的办法,写一个页面处理一个请求,仅仅一个博客就可能有很多个页面,而且php代码和html代码都结合的非常紧密,如果想要实现更换皮肤的功能,就显得非常无力.在网上找了好多framework框架,但似乎又要开始学习新的一门知识,现在还没有用来做具体开发,所以放弃了使用这些复杂的东西. 这里写这篇文章,其目的能做下笔记,也能为大多数困惑的PHP爱好者提供一些个人的想法. 首先吧,MVC就是model,view,cont