【问题标题】:Is it possible to create Windows Service Applications with C++/WinRT?是否可以使用 C++/WinRT 创建 Windows 服务应用程序?
【发布时间】:2019-08-02 16:15:34
【问题描述】:

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

【问题讨论】:

  • 我用纯 C++ 编写了许多服务,而不是 WinRT。
  • @rem: C++/WinRT 纯 C++。

标签: c++ windows winapi windows-services c++-winrt


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    来自ServiceMain的documentation

    支持的最低客户端 Windows XP [仅限桌面应用]

    支持的最低服务器 Windows Server 2003 [仅限桌面应用]

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

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

    【讨论】:

    • GUI 只是 Windows 运行时 API 界面的一个部分。在非 GUI 进程中使用 C++/WinRT 的目的是通过安全和现代的界面访问 Windows 运行时。
    猜你喜欢
    • 1970-01-01
    • 2017-09-25
    • 2012-03-23
    • 2020-05-05
    • 2021-12-05
    • 2013-08-03
    • 2023-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多