将Visual C ++ 6控制台应用程序作为Windows服务运行

时间:2018-06-13 16:57:33

标签: c++ windows visual-c++

是否可以将Win32控制台应用程序用作Windows服务?

通常使用C#,. NET和Visual Studio 2010或更高版本不会出现问题,但这是使用Visual C ++ 6环境用C ++编写的遗留应用程序。

主要是因为崩溃后能够自行重启。

1 个答案:

答案 0 :(得分:0)

  

是否可以将Win32控制台应用程序用作Windows服务?

是。实际上,许多服务都是作为控制台应用编写的。甚至MSDN的例子都是。

应用main()只需拨打StartServiceCtrlDispatcher()即可建立指向服务控制管理器的链接:

Writing a Service Program's main Function

  

主要是因为崩溃后能够重新启动。

处理这种情况的正确方法就是让它崩溃。使用ChangeServiceConfig2()配置服务的SERVICE_CONFIG_FAILURE_ACTIONS信息。其中一项可用操作是SC_ACTION_RESTART