服务和注册

Bor*_*kov 0 c++ windows

我在理解服务和注册表之间的关系时遇到了问题.

我的任务是获取我的Windows C++程序并将其从简单的应用程序转换为服务.我读到我需要产生更多的功能:start stop resume install.问题是:

  1. 为什么我需要这个注册?

  2. 我如何进入新计划?

  3. 除了那些方法我需要用注册表做什么?我怎么进入里面呢?

  4. 我是否需要编写用于输入服务的脚本?

我读过,但我只是不明白,任何answear和/或一些很好的解释链接将不胜感激.

谢谢,

Rob*_*edy 5

我不知道服务和注册表之间有任何记录的关系.服务可以使用注册表来存储他们的设置,就像任何其他应用程序一样,但它们不是必需的.

  1. 在形式上,您不需要注册表.您只需使用相关的API函数安装该服务.作为其实现的一部分,API函数创建了操作系统稍后用于了解何时以及如何启动服务的注册表项,但我认为这些密钥没有记录,并且期望开发人员可以手动修改它们,所以不要担心他们.

    但是,如果您的程序使用注册表来存储设置,则需要了解您的服务运行的帐户,因为这会影响您的程序可以访问的注册表区域.

  2. 通过致电安装您的服务CreateService.在程序的安装程序中执行此操作.当您检测到自己使用某个命令行开关运行时,您也可以自行安装服务,例如-i.要卸载您的服务,请致电OpenService然后DeleteService.在任何一种情况下,您都需要先拨打电话OpenSCManager.有关如何调用这些函数的更多信息,请参阅MSDN.

    或者,您可以使用该sc命令创建和删除您的服务.

  3. 如上所述,您无需对注册表执行任何操作.只需使用API​​安装和卸载您的服务,让操作系统处理剩下的事情.

  4. 您无需编写任何脚本即可启动服务.操作系统已经知道如何启动它(因为它已安装).如果您的服务是用户想要经常启动和停止的服务,那么他们可以使用netsc命令而不是使用服务控制面板.