繁体   English   中英

如何从C ++桌面应用程序调用UWP API

[英]How can I call an UWP API from a C++ desktop application

我想使用相应的UWP API访问Bluetooth LE设备。 但是,我的应用程序是一个不能作为UWP应用程序运行的“经典” C ++应用程序(3D游戏)。 有没有办法做到这一点? Accorind在这里发布这些API的链接描述 ,但我不知道访问它们的步骤,我只找到了一些Windows 8 / 8.1应用程序的帖子,其中包括Windows.winmd和Platform.winmd元数据文件,并设置了/ ZW编译标志,但这似乎不适用于Windows 10。

您应该能够执行此操作,因为Bluetooth类(例如BluetoothLEAdvertisement )已用DualApiPartitionAttribute标记(可从桌面和UWP应用调用)。

使用较旧的Win8.1桌面示例之一应该为您提供一个调用API的良好起点,而无需/ ZW或引用winmd文件。 桌面Toast API示例就是一个很好的例子。

如果您走这条路,则可以使用经典的COM 通过WRL帮助器创建UWP / WinRT类。

您可以使用网络作为Web服务器,而C ++应用程序使用同一台服务器,如果UWP将信息发送到服务器,则它将信息发送到C ++应用程序。 为了安全起见,UWP不能使用桌面应用程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM