|
|
开发一个windows服务程序,需要一个公平的一点精力和编程技巧。 除了写的代码为所欲为就业服务必须这样做,你必须添加额外的代码,可让服务程序沟通与windows服务经理,使该服务可以开始,停止,并能沟通,它的地位和依赖关系,以公司经理。
但是,在某些情况下,很高兴能有一个程序运行时,窗口的靴子了,有它留在运行24x7 ,无论你是否登陆与否,也不管是什么回事。 ,而事实上,你可以做到这一点,使用一个实用程序从windows 2000资源工具包,运行程序,你的选择,如果是一个服务;公用事业照顾沟通与服务经理,并违背你们节目用指定的命令行,当服务经理,开始了。 你的节目可以是一个windows应用程序,命令行程序,批处理文件, windows脚本宿主脚本,数据库应用,是一种写在另一脚本语言如perl的。 我用这样的方法来创造一个web server数据库后端写在foxpro数据库语言,和一个界面向spamassassin垃圾邮件过滤程序用perl编写的。
这个纲领是作为一种服务需要的功能,没有互动,从键盘,鼠标,屏幕。 沟通与外界取得联系,它可以创造,并听取对网络端口,或者它可以扫描指定目录中的每这么多秒的外观档案。 它不应该运行在无尽环路等待工作要做,否则它会缓慢的表现,您的计算机。 相反,它应该使用视窗同步工具一样的事件,或者至少是应该"睡眠"的时间,为了不消耗任何中央处理器电源时,它的闲置。 测试程序的命令行可以肯定它,然后才设法来说,它作为一种服务。
然后,当您准备安装它作为一个服务,请按照下列步骤:
注意:运行程序作为一项服务,这样有一定的风险。 事实上, windows反间谍程式报告在场srvany作为一个风险,每一次背道而驰。 如果一个黑客取代节目中表示,服务经理,开始了,假程序,将运行什么特权,该服务将已经行驶了。 你应该遵循的步骤,这里列出,以确保您的服务是安全的,由被窃取。
| 节目类型 | 注册表值 |
|---|---|
| 标准。 exe appparameters任何所需要的参数 | 应用myprogram.exe |
| 批处理文件 appparameters /炭mybatch.bat | 应用在c : \ windows \ system32 \ cmd.exe |
| 脚本 appparameters myscript.vbs | 应用在c : \ windows \ system32 \ cscript.exe |
现在,你应该可以开始服务和按ctrl + alt的+ del看到相关的节目出现在windows任务管理器的进程中展示。 如果不是,它可能会过早地退出,或有可能是一个问题,开始提供服务。 在后一种情况下应该有一个记录在事件日志中。
Online: 506 users browsing the articles directory
|
|