说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

运用Delphi编写Windows NT中服务程序

HTML文档下载 WORD文档下载 PDF文档下载
运用Delphi编写Windows NT中服务程序

---- Windows NT服务程序不同于一般的运行程序,它不需要NT登录进去,只需要开机进入NT系统便可以运行,一般用于系统服务方面的应用,学会编写NT服务程序对网络管理人员而言是非常重要的,Delphi4.0作为一种高效、快速、强大的开发语言,为开发NT服务程序提供了非常便捷的方法,加上其可视化界面以及与数据库的完美结合,使我们开发与数据库有关的NT服务程序变得非常简单,下面以编写一个NT定期备份程序为例,介绍如何运用Delphi编写Windows NT的服务程序。

---- 打开Delphi编辑器,选择菜单中的File|New,在New Item中选择Service Application项,Delphi便自动为你建立一个基于TServiceApplication的新工程,TserviceApplication是一个封装NT服务程序的类,它包含一个Tservice1对象以及服务程序的装卸、注册、取消方法。

---- 将Tservice1对象的属性做下列更改:

DisplayName与Name改为:DataBackup,

ServiceStartName属性改为系统管理员

用户(如DOMAIN\Administrator)和Password则输入用户密码

---- 这样,服务程序运行时将自己以该用户的权限操作NT。

---- 这样,一个NT服务程序编写已经完成,在Delphi编辑器中选择菜单Run|Parameters,在Parameters中输入/install,程序编译运行后,一个名为DataBackup的NT服务程序已经安装好,你可以双击控制面板中的服务项目,将会看到此服务程序,只是此服务程序没有任何东西而已;在Delphi编辑器中选择菜单Run|Parameters,在Parameters中输入/uninstall,程序编译运行后,系统将会将此服务程序卸掉。

---- 服务程序是通过控制一个线程的生成、暂停、继续、停止来达到服务目的的,因此我们必须加入一个Tsession对象来编写文件自动备份代码,在Delphi编辑器中选择菜单中的File|New,在New Item中选择Thread Object项,Delphi会提示你为该Tsession对象输入一个名称(输入DataCopy)

Delphi便生成了一个基于Tsession的DataCopy对象,并提供了一个Execute过程供重载,我们要Execute过程中输入以下程序:

var

Hour

Min

Sec

MSec: Word;

TimeStamp

DirectoryEdit1

DirectoryEdit2:String;

SearchRec: TSearchRec;

Source

Temp

Dest:Pchar;

F

F1:THandle;

FF

FF1:WIN32_FIND_DATA;

Begin

{每次文件备份执行时间}

TimeStamp:='12:00';

{文件备份源目录}

DirectoryEdit1:='C:\temp';

{文件备份目录}

DirectoryEdit2:='C:\temp1';

while True do

begin

DecodeTime(Time

Hour

Min

Sec

MSec);

IF Trim(TimeStamp)=Format

('%-2.2d:%-2.2d'

[Hour

Min]) then

begin

GetMem(Source

250);

GetMem(Dest

250);

GetMem(Temp

250);

StrPcopy(Dest

DirectoryEdit2+'\

'+FormatDateTime('YYYYMMDD'

Date));

CreateDirectory(Dest

nil);

IFFindFirst(DirectoryEdit1+'\*.*'

faAnyFile

SearchRec)=0 then

begin

repeat

StrPcopy(Source

DirectoryEdit1+'\'+SearchRec.Name);

StrPcopy(Dest

DirectoryEdit2+'\'

+FormatDateTime('YYYYMMDD'

Date)+'\'+SearchRec.Name);

copyfile(Source

Dest

False);

until FindNext(SearchRec)< >0;

end;

SysUtils.FindClose(SearchRec);

FindClose(F);

FreeMem(Source

250);

FreeMem(Dest

250);

FreeMem(Temp

250);

end;

sleep(60000);

end;

end;

---- 此线程执行时每隔一分钟将检查一次时间,看是否到了备份时间,如果是则将DirectoryEdit1中的所有文件拷到DirectoryEdit2目录中去。

---- 现在编写服务控制DataCopy线程的代码,在TdataBackup对象中的OnStart、OnStop、OnPause、OnContinue事件中分别输入如下代码:

procedure TDataBackup.DataBackupStart

(Sender: TService;

var Started: Boolean);

begin

DataThread:= TDataCopy.Create(False);

Started := True;

end;

procedure TDataBackup.DataBackupStop

(Sender: TService;

var Stopped: Boolean);

begin

DataThread.Terminate;

Stopped := True;

end;

procedure TDataBackup.DataBackupPause

(Sender: TService;

var Paused: Boolean);

begin

DataThread.Suspend;

Paused := True;

end;

procedure TDataBackup.DataBackupContinue

(Sender: TService;

var Continued: Boolean);

begin

DataThread.Resume;

Continued := True;

end;

---- 这样一个文件自动备份程序已经完成,编译好后,加上/install参数执行程序,系统会将此服务程序安装,由于服务程序中StartType属性为stAuto,NT每次启动时,此程序自动执行,你可以在控制面板中的服务项目来启动、暂停、恢复、停止它,也可以加上/uninstall参数执行程序来卸掉它。通过上述例子我们可以看到,用Delphi编写NT服务器程序十分方便,而且你也可以在Tservice对象上加许多非可视化控件来与数据库关联,实现很多复杂的功能。

可穿戴设备又一站:增强现实眼镜CastAR 数字医疗投资将破纪录 投资人看好这些细分领域 Mayer又下一城:雅虎收购Tumblr推进移动化? 前端开发利器:代码预处理工具Prepros 一个轻量级的JavaScript库:Reactor.js [探讨] 用户体验设计师现在面临怎样的机遇和挑战? PPT集萃(二):淘宝、CloudStack等分享的架构经验与最佳实践 2013中国云计算榜单之二:64家云主机+云存储,错综复杂! 看Java技术基础的eBay如何评价他们的Node.js首次尝鲜 Jolla发布首款Sailfish系统手机 无缝兼容Android应用 NPD:全球智能手机出货量2013年将首次超过功能手机 聚合数据左磊:不走寻常路 做国内最好的数据聚合平台 从程序员到软件商 需要注意些什么? 共享软件海外营销策略与实战(上海站) 直接拿来用!最火的Android开源项目(完结篇) 一步加入云生态系统 参加第五届中国云计算大会的十大理由 传苹果iOS7将深度整合Flickr 用户受益最大 Chrome 27来了:页面加载快5% 可同步数据到Google Drive 微软发布新一代游戏主机Xbox One 搭配全新Kinect 2.0体感系统 Unity游戏引擎向iOS与Android开发者免费 Twitter获“下拉刷新”专利 开发者仍可自由使用 复杂产品的响应式设计【流程篇】 使用Javassist库为Bytecode Instrumentation开发JVM Agent 内容解析创业公司Stremor推出4款API 2013中国云计算榜单之三:174家云应用服务商,繁花似锦! 盘点各大云服务提供商:麦当劳=AWS,汉堡王=? BlackBerry Jam亚洲开发者大会9月将在香港开幕 把服务器搬进来:Splashtop在中国搭建Bridging Cloud Web框架全对比第五期 新增Windows环境 前Tumblr首席开发者回忆录:一个人也能开发出好产品 测试者和开发者,为何我们不能友好地相处? 如何重新检索 救急:Win me开始菜单及Taskbar的小图标都变花了,如何解决?up有分 ############狂送分,附带一个小问题########### 在bc中怎样创建资源文件?? 请高手进入,急!在线等待 生活有你 更新后台數據,用試圖就可以,用代碼就不行? ★★★CFormView的大小,高手没必要进,低手就可以解决了! 不超过十行,但.....(C) 打到雍亲王 "准女朋友的胸太平了,我该如何取舍? " 准备结贴了,要顶的赶快顶呀,去晚了就没机会了 为什么我从数据采集仪采集到的数据是乱码? 请教:动态的下拉菜单怎样做?在线等待,答对就给分! 有谁知道用vb如何把bmp的文件转换为jpg格式?? sql server2000是不是不能在winxp 专业版下安装?? 请问大家 wait函数的使用问题(给100) 关于wait函数的使用问题(给100) 如何在xp下能够删除带子目录的文件夹? [求助]关于考试座位号随机分配问题! 无奈的我等你的帮助! 在delphi中如何建立一个doc文件? 有谁可以帮帮忙(在线等待) 请问大家如何防止DEDE的,我发现许多软件没有进行压缩也无法进行DEDE反编译,通常只能进行到一半 现代制造业企业管理系统的开发 (C++ builder) 线程设计,帮帮忙!!! 关于flash中的actionscript 如何做自动评分的考试系统?给点建议或意见! 告急!!!主从表的问题,怎样修改从表时,让主表的数据跟着变化? 刚刚在新闻组看到的东西, 让大家乐乐(转贴) 关于ASP.NET的讨论,欢迎大家指正. 再发:请教在Rave 报表中如何在每一页上都显示打印表头 关于视图的问题!!!很急,各位大哥帮帮忙!! CrystalReports(水晶报表)的版权问题 请看此贴!帮忙阿! 菜鸟问题,请问怎么让 点主from上的一个按钮就弹出另一个编好的窗体 请问能不能将网页页面内容保存为word文档输出?? 碰上大麻烦了,哥们们救救我吧!~ 请看此帖,帮忙啊! 中文打包问题 谁可以给我一个java的例子读excel的*.cvs文件,thanks 请看此帖,帮忙啊! 想请叫一个关于网站视频的问题 关于jre的2个问题 oracle错误 Memo字段(Access)的字符串搜索问题? 在线等待啊,高分!!对选题的判分。 请看此帖,帮忙啊! 我是新手 不知学习前端软件开发哪种好(vb.net / pb /?????????) 高手救急!win2000/xp安装棘手问题!在线等 我的小猫怎摸找不到了呢? 品牌权益(brand equity)和品牌价值(brand value)有什麽不衕?有什麼不同点? 关于英雄形像和秋天景色的成语 思维北征,宜先入南中思的意思 国庆阅兵观后感的题目60周年的,别太俗了,像《 》有感;国庆 有感……之类的.30分钟内回答!60周年的,别太俗了,像《 》有感;国庆 有感……之类的不要。30分钟内回答! 急需英语单句改错题答案,并讲解理由, 臣受命之日 寝不安席 食不甘味 成长在现代汉语大辞典中的含义 2009年双子座流星雨在美国能看到么?加州.俄勒冈那里 “故五月渡泸,深入不毛”涉及到什么事件? 方言与现代汉语的意义相比较,有什么不同 请问、2010年的双子座流星雨在广东韶关能看到吗?几号能看到最多? 五月渡泸,深入不毛与什么战役有关 内陆地区新疆 降雪多怎么可能 呢 降雨和降雪一样的形成原理 那么处于内陆的新疆为什么 连年暴雪呢 赋课金翻译成国语白话是什么意思? 2011英语作文改错试题 就是最后一个符号 紧急 紧急 Plant Physiology 是不是SCI 2009国庆阅兵读后感,300字到400字之间.要300到400字之间 最后的符号怎么打 Plant Diseases and Pests是什么级别的杂志 09国庆阅兵读后感急死了 哥廷根的介绍.3Q. 但愿人长久千里共婵娟,其中婵娟指的是什么? tourist products在有关旅游的英语文章中什么意思 有人知道个符号怎么打吗就是 名字前面那个 英语翻译一个字,词语,短语翻译就好,能整段整段翻译自然最佳 products什么意思啊,英语真的实在不通了 .有人知道这个符号怎么打吗 第五题,下面那题不用做,求解答第五题, 英语广告:“Brand new w/warranty.”中的“w/”是什么意思?类似的还有:“Brown w/ ice maker.Excel.cond.Reasonably priced.”中的“w/”是什么意思? if you plant in soil,they growif you plant in soil,they grow为什么不是will grow? “但愿人长久,千里共婵娟”中的“婵娟”指的是什么? 关于鲁滨逊漂流记的读后感字数500 急! |这个符号怎么打,有人知道吗? 告诉下!谢谢! 但愿人长久,千里共婵娟中“婵娟”指什么 Brand products such as character是什么意思啊 选择合适的单词填空 do should grow plant soil A:what are you going to( )this sunday?B:l'm going to ( )a tree.A:How do you do that?B:lt's easy.First,dig the( ).put the tree in the soil.A:what( )you do then?B:water it.wait for it to( ) 帮我看看这改错题 One afternoon a girl set out in the coast in a small boat and was caught in a storm.答案说把in改成from,可这句话有另个in ,应该是该哪个呢? 2009国庆阅兵直播观后感600字要像初一写的 求一个点符号! 不是·不是丶不是• QAQ就是这个3右下角的点>>>⒊ 求啊求! 求英语,这是道改错题,每条都有错, 求解一道高数的定积分题目 sprout plant soil seed 哪个是与众不同的单词? 会议室座位安排领导10名,秘书1名,主持人1名,客人43名,大屏幕在门口那侧,如何安排座位? 因为男方连续多个月赌博,被女方发现赌博单据,并且事后还不承认错误,两人已经分居半年多,男方一直也没有诚意,以托时间为主,就是不同意离婚,还动手打人,辱骂女方,曾经说过:‘我就是不 什么牌子的微晶石好?超晶石和微晶石有什么区别? “第二故乡”英文怎么翻?、、RT、、 有一个与地面成30°角的斜坡,现要在斜坡上竖一电线杆,当电线杆与斜坡成( )度角时,电线杆与地面垂直.我同学都算得等于60°,我的疑惑是:为什么不能写120°?求大师解决 心驰神往 有一首英文歌曲,节奏很像凤凰传奇这首 心驰神往 叫什么名字 请帮解释一改错题 I was about to rush out of the train station when a well-dressed old man took me by my arm.“ Young lady,” said the gentleman,“Shouldn’t you find out the bus schedule before you rush out to catch the bus?”by my arm 出师表“五月渡泸,深入不毛”是三国演义中的什么故事 找一个符号【黑色的爱心】♥这个怎么打? 例:风景——流连忘返 问:英雄——( ) 五月渡泸,深入不毛,. 什么是Core_value_of_brand? If he hadn’t used his cellphone to make that SOS call ,all the passengers on boat would have left to die in the sea ,just like what happened to the people on the Titanic almost 100 years ago .would have left 改成would have been left为什么要 湿婆神发怒是什么意思 2009国庆阅兵观后感 取题目2009国庆阅兵的观后感~ 帮忙取个题目` 各位大哥大姐帮帮忙~ 急啊!10月9日要交啦、、谢 2009年双子座流星雨2009年的双子座流星雨大不大?我家在黑龙江黑河具体的观测时间和观测地点需不需要带什么?如果没有天文望远镜看得到嘛?我刚等完狮子座流星雨就感觉俩字:上当这次看 五月渡泸,深入不毛 指的是三国演义中的哪个故事 浙商二代展开青春对话 宗馥莉称不努力调查指:中国20年“农转非”比例仅增第九届两岸经贸文化论坛在广西南宁闭幕浙江力推“国民共进” 促“国字号”“长三角“绿色制药”协同创新中心:让百教师因婆婆不拆迁调岗至拆迁部 称曾被跨国公司巨头和学者会聚上海探讨城市“马尼拉市长最快下月底赴香港道歉 或赔上海自贸区满月在即 创新运行框架基本韩正:上海自贸区将适时引入第三方评估安倍再次表示推进探讨行使集体自卫权阿根廷学者认为克里斯蒂娜连任机会渺茫学者称克里斯蒂娜连任机会渺茫 应加强阿根廷学者认为克里斯蒂娜连任机会渺茫中央气象台发霾黄色预警 京津等局地或阿根廷学者认为克里斯蒂娜连任机会渺茫伊拉克北部摩苏尔发生自杀式汽车炸弹袭印度东北部城市发生连环爆炸5人死亡“双年展专业户”卢昊:城市化进程使多浙台经贸合作平台发展规划首次发布浙商大会马云成热词 专家论创新力挺淘全国道德模范何涛被抓孟加拉国沉船黑手党炫富招来警察昆山爆炸事故判定为重大责任事故车门怎么一直开着手机能充满电东山精密净利润下降近三成万洲国际今在港挂牌促A股创年内新高金价年内难见大起大落镇江一骑电动车大妈华策影视与爱奇艺传“绯闻”两部好莱坞大片将上映,期待吗?疼痛自拍Pose有轨电车车门旁的裂缝本周五起,南京火车站公交线路正式调整8只次新股齐封一字板“宫家军”叫屈 路边都是停车位,被逼上快车道论亲妈后妈的鉴定方法帮助和安慰也是临床医学的重要手段
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘