我是第一次使用Windows服务,经过一番努力,我现在可以用C ++编程安装和取消服务, 我找到了许多指导如何处理的教程 ServiceMain和ServiceControlHandler函数。 问题是没有教程显示我们首先安装服务然后在同一程序中应用ServiceMain和ServiceControlHandler函数。
简而言之,我正在尝试将两种功能集成在同一代码中,但它无法正常工作。
以下是我关注的一些链接
http://www.codeproject.com/Articles/499465/Simple-Windows-Service-in-Cplusplus
http://www.devx.com/cplus/Article/9857/0/page/2
http://msdn.microsoft.com/en-us/library/ms683500(v=vs.85).aspx
我的源代码几乎是上述示例的完全副本,除了在创建之前 SERVICE_TABLE_ENTRY并调用StartServiceCtrlDispatcher(ServiceTable)我调用了安装服务的函数。
服务安装正确但永远不会开始运行,因此从不调用ServiceMain。
环境: Windows 7 64位 Lnaguage C ++ Visual Studio 2008
答案 0 :(得分:4)
至少根据您链接的代码,您有一个ServiceMain,并且(可能在main
中)您调用了CreateService
。
您似乎缺少的步骤是在致电CreateService
后致电StartService
。