<分区>
恐怕这是一个相当没有方向的帖子,我深表歉意。我试图弄清楚如何从 win32(非通用)应用程序中使用 Cortana。我找到了 this link但我不知道是否有办法从非托管代码访问这些 API。这让我走上了兔子之路,想知道这个 UniversalApiContract 是什么,以及如何在 native 代码中使用它,但到目前为止,我一无所获。
有人可以给我一些指导吗!!我什至需要搜索什么才能开始学习如何本地访问这些 API?我应该阅读有关 Windows 运行时的一些资料吗?
提前致谢,对于一般性问题,我再次表示歉意 - 不知道还能转向哪里。
[对有多少人在没有任何有用的回应或建议的情况下投票关闭线程表示不满]
现在,进入科学。
花了一些时间之后,这似乎是不可能的。 我能够通过使用 Visual C++ Component Extensions 从 Win32 调用 API .这允许您使用 Windows 运行时和类似 CLR 的概念,但会产生纯 native 代码。作为旁注,由于我想将它与我不想使用此扩展重新编译的应用程序链接,所以我在 DLL 中执行此操作并延迟加载它。
不幸的是the call to install the voice command definition file失败并出现 COMException:进程没有包标识。这意味着我可以成功调用 API,但是它需要一个包标识 - 换句话说,它必须从具有应用程序标识的现代/商店/通用应用程序上下文中调用。
我剩下的唯一方法似乎是使用 Cortana 后台 API 与我在后台编写的现代应用程序交互,并使用它通过某种自定义通信来代理从我的 Win32 应用程序到 Cortana 的调用。恶心。
我希望这有助于节省其他人的时间。