Связь между UWP и не UWP app

возможно ли иметь связь между UWP и не UWP-приложениями. Моя не-uwp-это фоновая задача, которая предоставляет услугу. Я хочу вызвать эту службу, отличную от uwp, в приложении uwp.

Как сделать этот звонок? Класс AppServiceConnection в приложение UWP?

2 ответов


да, приложения, отличные от UWP, могут использовать AppServices для связи с приложениями UWP.

здесь есть образец : https://github.com/Microsoft/DesktopBridgeToUWP-Samples/blob/master/Samples/AppServiceBridgeSample_C%2B%2B/cs/Win32Process_CPP/Win32Process_CPP.cpp


думаю, у меня есть ответ для вас.

во-первых, если вы хотите типичную функциональность win32, которая так же проста в разработке, как UWP, вы должны пойти на WPF, он в значительной степени использует ту же структуру проектирования, но он может поддерживать все то, что UWP не делает, традиционные вещи, такие как цикл Wndproc и отправка сообщений в другие приложения могут поддерживаться на WPF.

теперь, способ получить перекрестную связь приложений на UWP, является путем подструктуры U от его имени, он остановится быть универсальным, если вы хотите продолжать в том же духе.

прежде чем я углублюсь в то, почему это так, я должен объяснить, как работает вся эта вещь Appservice.

Appservice-это фоновая служба, которую можно вызвать из других приложений, размещенных под Backgroundhost.exe, поэтому это гарантирует, что он работает в другом потоке, чем приложение, таким образом, сохраняя песочницу, как я сказал, она может быть запущена другим приложением, это очень похоже на класс/метод в вашей программе, который может быть запущен чем-то снаружи вы все еще можете изменить настройки appfolder с ними, чтобы ваше основное приложение знало, что произошло в этом сообщении.

таким образом, для того, чтобы другие приложения, чтобы получить доступ к этой службе приложений они должны знать адрес его, и для того, чтобы знать, что, вы должны hardcode его самостоятельно и включить его в папку, а также запустить его через основное приложение, и это разрешено только на настольных версиях UWP, так что вы видите, в любом случае его лучше использовать WPF.

и если магазин windows является причиной, почему вы хотите пойти с UWP, то ознакомьтесь с руководством о том, как перенести традиционное приложение dekstop в магазин windows. https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-root

кроме того, если вас интересуют блестящие новые API, такие как compact overlay, которые поддерживаются только на UWP, вы не должны, потому что есть некоторые способы заставить его работать и на обычных настольных приложениях.