Связь между 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, вы не должны, потому что есть некоторые способы заставить его работать и на обычных настольных приложениях.