Требования: Как WebView2 может отображать и отображать веб-ресурсы для действий пользователя, как веб-интерфейс может взаимодействовать с приложением WinForm? Например, веб считывает аппаратную информацию через приложение, а приложение активно обновляет содержимое веб-страницы.
Обзор:
Во-первых, посмотрите на отображение коммуникации между вебом и приложением WinForm, веб отправляет сообщение приложению,Вызовите функцию калькулятора, которая открывает систему WindowsВ то же время приложение может успешно принимать сообщения, отправленные на веб-сторону, как показано на рисунке ниже:
Коммуникация между хостом и веб-контентом
Хосты и веб-контент могут использоваться для взаимодействия друг с другом в postMessages, следующим образом:
- Веб-контент в управлении WebView2 может использоваться для публикации сообщения хосту в window.chrome.webview.postMessage. Хост обрабатывает сообщение с любым сообщением, которое регистрирует WebMessageReceived на этом хосте.
- Хост публикует сообщения в веб-контент в контроле WebView2 CoreWebView2.PostWebMessageAsString или CoreWebView2.PostWebMessageAsJSON. Эти сообщения фиксируются обработчиком, добавленным в window.chrome.webview.addEventListener.
Создайте новый проект Angular SPA
В этой статье используется Angular 8.2.14 для создания нового веб-проекта по демонстрации коммуникации между вебом и приложением WinForm.
Код таков:
Одновременно модифицируйте файлы app.component.html и app.component.ts, чтобы реализовать функции отправки и получения сообщений.
app.component.html код выглядит следующим образом:
app.component.ts код следующий:
Проведите проект так, как показано ниже:
Приложение WinForm
Хост-приложение должно изменить код следующим образом:
Модифицировать управление WebView2Источник: http://localhost:4200/Для запуска приложения, как показано ниже:
Наконец, попробуйте отправлять сообщения друг другу через веб- и WinForm-приложения, и вы увидите, что обе стороны успешно получают сообщения, как показано на следующем рисунке:
(Конец)
|