windows服务怎么写( 六 )


5、Background Intelligent Transfer Service BITS(后台智能传输服务)的进程名是Svchost.exe,WinXP Home/Pro默认安装的启动类型 为手动,依赖于Remote Procedure Call、Workstation服务 。微软宣称BITS能够利用剩余 的带宽传输文件,当网络切断或计算机重启时,后台智能传输服务会自动对文件传输加以 维护,当网络重新连接时,后台智能传输服务将从停止的地方继续开始传输文件 。
其实这 个服务原是用来实现HTTP1.1服务器之间的信息传输,基本上它的应用也就是支持自动更新 时的断点续传 。如果你禁用了Automatic Updates,留着它也没什么意义 。
6、ClipBook ClipSrv(剪贴板查看器服务)的进程名是clipsrv.exe,WinXP Home/Pro默认安装的启动 类型为手动,依赖于Network DDE服务 。ClipBook通过Network DDE和Network DDE DSDM提 供的网络动态数据交换服务,可查阅远程机器中的剪贴版,通俗地说ClipBook就是支持剪 贴版查看器(ClipBook Viewer)程序,该程序可允许剪贴页被远程计算机上的ClipBook浏 览 。
例如有个较大的文档工程,由A、B、C共同开发 。A负责Excel数据部分,B负责Visio制图部 分,而C负责将两部分文档整合 。
C经常需要对A、B的数据进行拷贝,愚蠢的做法是C打开A 、B在网络邻居上共享的文档,然后将相关内容拷贝 。而对Windows体系有一定了解的用户 应该听说过OLE这个东西,上面说的Excel数据和Visio制图都可以认为是独立的OLE对象,如果A、B、C的3台机器上的ClipBook服务都为开 。
7. 怎样写脚本把windows服务改为手动 编写一个批处理文件,按照下列命令实例进行操作:
net start "服务名" (开启服务)
net stop "服务名" (关闭服务)
如果启动的服务名是词组时,服务名称两边要加双引号 。
sc config 服务名 start= demand //手动
sc condig 服务名 start= auto //自动
sc config 服务名 start= disabled //禁用
sc start 服务名
sc stop 服务名
参考:
8. 如何编写windows服务程序 如何编写windows服务程序 By:张鹏/Hikvision 这两天想学习关于如何编写windows服务程序的知识,就上网查了些资料 。
看了一篇文章《用C 语言编写Windows 服务程序的五个步骤》 。但可能由于译者的疏忽,忘记了将关键代码放入该文档,导致初学者可能会看不懂 。
所以又查阅了相关资料 。自己完成了《用C 语言编写Windows 服务程序的五个步骤》中的样例程序 。
在本文中我希望能给初学者一些帮助,大致讲一下编写windows服务程序需要的知识 。首先Microsoft Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序 。
这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面 。这使服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用 。
还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务 。服务是有状态的,当我们使用windows自带的服务管理程序sc.exe查看服务状态时可以显示服务的当前状态,这个状态是由我们在程序代码中进行控制的 。
你最好在服务初始化的时候将服务设置为SERVICE_START_PENDING,当初始化完毕时设为SERVICE_RUNNING,这些状态是系统自定义的状态,可通过msdn查看其他状态 。这个状态信息你会在sc.exe中看到 。
在编写windows服务程序过程中你需要关注的函数有: 1.首先是main函数,由于windows服务不需要界面,所以大部分程序为win32控制台应用程序,所以程序主函数为main 而不是WinMain() 。在主函数要做的主要工作就是初始化一个SERVICE_TABLE_ENTRY 分派表结构体,然后调用StartServiceCtrlDispatcher();这将把调用进程的主线程转换为控制分派器 。