将C++程序转换为Windows服务?

Mac*_*iek 17 c++ winapi

我写了一个"做东西"的控制台程序 - 主要是使用boost.如何将其转换为Windows服务?我应该事先了解Windows服务?

the*_*ill 17

有关如何在MSDN上设置最小服务的一个很好的例子.请参阅有关编写主函数,入口点以及示例代码的部分.

一旦你建立并运行了一个Windows服务,你就会发现下一个主要问题:调试很痛苦.没有终端(因此没有stdout/stderr),只要你尝试运行可执行文件,它就会启动服务,然后返回给你.

我发现非常有用的一个技巧是为-foreground您的应用程序添加一个选项,这样如果您使用该标志运行,那么它会绕过服务启动程序代码,而是像常规控制台应用程序一样运行,这使得调试变得非常容易.在VS.Net中设置调试选项以使用该标志调用.