是否可以使用 C++/WinRT 创建 Windows 服务应用程序?

Is it possible to create Windows Service Applications with C++/WinRT?

我正在设计一个新的 Windows 服务应用程序,我想知道是否可以使用现代 C++/WinRT 来构建符合服务控制管理器 (SCM) 接口规则的二进制可执行文件。

来自 ServiceMain 的 documentation

Minimum supported client Windows XP [desktop apps only]

Minimum supported server Windows Server 2003 [desktop apps only]

如果使用 Xaml Islands 将 C++/WinRT 包含在桌面应用程序中,那么它会起作用,但这一切有什么意义呢?服务应用程序不能有 GUI,这消除了 UWP 或 C++/WinRT 的需要。

WinRT 基于 C++ 17,您可以在服务应用程序中很好地使用 C++ 17 的所有功能。

C++/WinRT 通常在 Windows 服务中用于访问各种 Windows API,所以从这个意义上说,是的,它确实有效。然而,它不为实际实现 Windows 服务 API 回调提供任何支持,但你自己实现这些并不难。 Here's an example.