桌面应用程序中的WinRT GUI

WinRT GUI within a desktop application

本文关键字:WinRT GUI 应用程序 桌面      更新时间:2023-10-16

我们有一个使用旧MFC GUI的C++桌面应用程序;现在我们想要一个更现代的触摸GUI。我们希望使用Windows Metro应用程序样式
因为我们使用了一些链接共享mfc库的sdk,我们认为我们无法使用这些组件编写WinRT应用程序(或者我们错了?)

是否可以在桌面应用程序中使用WinRTGUI api(使用纯C++,而不使用任何.net世界,如WRL/C++)
我们看到一些示例,即使用加速计WinRT-api,但不使用GUI组件。

请记住,C++/CX是纯原生的东西。没有。NET依赖关系等。它只是一种简化COM互操作的语言扩展(我相信你知道WinRT是基于COM的API),但如果你不喜欢C++/CX,请考虑使用WRL进行低级互操作。

C++/CX的语言扩展节省了时间,但您不必使用它们。如果使用Windows运行时C++模板库(WRL),则可以从标准C++获得跨语言互操作的较低级别访问权限。WRL使用COM程序员熟悉的约定。

WRL是一种与编译器无关的创建和使用Windows运行时API的方法。您可以使用WRL而不是C++/CX语法。它使您能够针对性能或特定场景优化代码。它还支持不使用异常的应用程序开发方法。