2016-03-25 10 views
0

Ich möchte auf Bluetooth LE-Geräte mit den entsprechenden UWP-APIs zugreifen. Meine Anwendung ist jedoch eine "klassische" C++ - Anwendung (3D-Spiel), die nicht als UWP-App ausgeführt werden kann. Gibt es eine Möglichkeit, das zu tun? Accorind zu enter link description here diese APIs sind veröffentlicht, aber ich kenne die Schritte nicht, um auf sie zuzugreifen Ich habe nur einige Posts für Windows 8/8.1-Anwendungen gefunden, die die Metadateien Windows.winmd und Platform.winmd enthalten und das/ZW-Kompilierungsflag festlegen , aber das scheint nicht für Windows 10 zu gelten.Wie kann ich eine UWP-API aus einer C++ - Desktopanwendung aufrufen?

+0

Ich weiß nicht, wie wahr das ist, aber ich lese irgendwo, dass Microsoft UWP APIs nicht mehr zu win32 zurück portiert ... was wirklich schlimm ist, wie es für mich aussieht, wenn sie Entwickler zwingen, UWP zu verwenden, neue Technologien zu verwenden . – rlam12

Antwort

-3

Sie können das Web verwenden, das Sie einen Webserver erstellen, und die C++ - Anwendung denselben Server verwenden, und wenn UWP die Information an Server sendet, wird es die Information senden zu C++ Anwendung. Zur Sicherheit kann die UWP die Desktop-App nicht verwenden.

1

Sie sollten dies tun können, da die Bluetooth-Klassen (z. B.) mit DualApiPartitionAttribute (aufrufbar von Desktop- und UWP-Apps) markiert sind.

Die Verwendung eines der älteren Win8.1-Desktop-Beispiele sollte Ihnen einen guten Ausgangspunkt für den Aufruf der APIs geben, ohne/ZW zu erfordern oder die winmd-Dateien zu referenzieren. Ein gutes Beispiel ist die desktop toast API sample.

Wenn Sie diese Route verwenden, können Sie mit dem klassischen COM die UWP/WinRT-Klassen via WRL helpers erstellen.