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

时间:2016-03-25 22:57:31

标签: c++ win-universal-app desktop

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

2 个答案:

答案 0 :(得分:1)

您应该能够这样做,因为蓝牙类(例如BluetoothLEAdvertisement)标有DualApiPartitionAttribute(可从桌面和UWP应用程序调用)。

使用一个较旧的Win8.1桌面示例应该为您提供一个很好的起点,可以在不需要/ ZW或引用winmd文件的情况下调用API。一个很好的例子是desktop toast API sample

如果你走这条路,你可以使用经典的COM来创建UWP / WinRT类via WRL helpers

答案 1 :(得分:-3)

您可以使用创建Web服务器的Web和C ++应用程序使用相同的服务器,如果UWP将信息发送到服务器,则它会将信息发送到C ++应用程序。 为了安全起见,UWP无法使用桌面应用程序。