我是第一次使用 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-bit Lnaguage C++ Visual Studio 2008