是否有可能在uwp和非uwp应用程序之间进行通信。我的非uwp是一项提供服务的背景任务.我想称之为uwp应用程序中的非uwp服务。
怎么打那个电话?AppServiceConnection类在非uwp应用程序中可用吗?
发布于 2017-04-13 01:31:59
是的,非UWP应用程序可以使用AppServices与UWP应用程序进行通信。
这里有一个示例:CPP.cpp
发布于 2019-12-24 05:51:27
我推荐以下样本由斯特凡威克。它实际上是包含代码和windows存储中的详细信息和示例的4个部分:https://stefanwick.com/2018/04/06/uwp-with-desktop-extension-part-1/
发布于 2017-08-31 20:39:36
我想我有答案给你。
首先,如果您想要像UWP那样易于设计的典型win32功能,那么应该使用WPF,它使用的是相同的设计框架,但它可以支持所有UWP不支持的东西,Wndproc循环和向其他应用程序发送消息等传统功能可以在WPF上得到支持。
现在,在UWP上获得跨应用程序通信的方法是从它的名称中构造U,如果您想继续使用它,它将不再是通用的。
在深入了解为什么会这样之前,我应该先解释一下整个Appservice是如何工作的。
Appservice是一个后台服务,可以从其他应用程序调用,它的托管在Backgroundhost.exe下,这样可以确保它在与应用程序不同的线程上运行,从而保留沙箱,正如我所说的,它可以由另一个应用程序启动,它就像程序中的类/方法一样,可以被外部的东西触发,您仍然可以与它们一起更改app文件夹设置,这样您就可以让您的主应用程序知道通信中发生了什么。
因此,为了让其他应用程序访问这个应用程序服务,他们必须知道它的地址,为了知道这一点,你必须将它硬编码到你自己的文件夹中,并通过你的主应用程序启动它,这是只允许在桌面版本的UWP,所以你会发现,在任何情况下使用WPF更好。
如果windows商店是您想要使用UWP的原因,那么请查看如何将传统的dekstop应用程序迁移到windows商店的指南。https://learn.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-root
此外,如果你对那些闪亮的新apis感兴趣,比如只支持UWP的紧凑覆盖,你就不应该这么做,因为有一些方法可以让它在普通桌面应用程序上工作。
https://stackoverflow.com/questions/43182643
复制相似问题