首页 > 解决方案 > 将 Visual C++ 6 控制台应用程序作为 Windows 服务运行

问题描述

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

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

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

标签: c++windowsvisual-c++

解决方案


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

是的。事实上,许多服务都是作为控制台应用程序编写的。甚至 MSDN 示例也是如此。

该应用程序main()只需调用StartServiceCtrlDispatcher()即可建立到服务控制管理器的链接:

编写服务程序的主要功能

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

处理它的正确方法是让它崩溃。用于ChangeServiceConfig2()配置服务的SERVICE_CONFIG_FAILURE_ACTIONS信息。可用的操作之一是SC_ACTION_RESTART


推荐阅读