Windows服务,微软的官方定义是这样的:Microsoft Windows 服务(即以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的
可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这些功能使服务非常适合在服务器上使用,每当
需要使用不会影响在同一台计算机上工作的其他用户的功能时也适用。还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务
。
这种描述过于抽象而且笼统。那么究竟什么是服务呢?首先Windows服务和普通应用一样是是一个应用程序,一个后台进程。但它又十分特殊,特殊在以
下几点:
1.它通常在系统启动时用户登录Windows之前由NET kernel中的SCM(Service Control manager)加载,并一般在系统启动时自动开启的。
2.Windows服务独立于特定用户之上,也就是说它可以被一台计算机上任何用户所共用。
如果一个应用需要长时间的后台运行,并且独立于某个特定用户控制台,我们可以考虑把它写成Windows服务。它通常没有界面(没有硬性限制,可以编
写有界面的Windows服务),通常随机启动,随机关闭而关闭,但也可以随用户需要手动启动,一般两种方法:1 Control Panel -> Administrative Tools
-> Services 2,由其它程序调用SCM提供的接口开启。类似于Windows服务东西比如UNIX的daemons,Dos下的运行于AUTOEXEC.BAT或者CONFIG.SYS的TSR。常见的服务包括硬件驱动(打印机等),FTP服务,数据库服务,WEB服务等等。
关于如何编写一个Windows服务,请参考以下链接。
Reference:
http://www.commsoft.com/services.html
http://msdn.microsoft.com/zh-cn/library/d56de412(v=vs.80).aspx