Anforderungen: Wie kann WebView2 Webressourcen für Benutzeraktionen rendern und anzeigen, wie kann die Weboberfläche mit der WinForm-Anwendung kommunizieren? Zum Beispiel liest das Web Hardware-Informationen über die Anwendung und aktualisiert aktiv den Inhalt der Webseite.
Rezension:
Schau dir zuerst die Darstellungen der Kommunikation zwischen dem Web und der WinForm-Anwendung an, das Web sendet eine Nachricht an die Anwendung,Rufen Sie die Taschenrechnerfunktion auf, die das Windows-System öffnetGleichzeitig kann die Anwendung auch erfolgreich Nachrichten empfangen, die an die Webseite gesendet werden, wie in der untenstehenden Abbildung dargestellt:
Kommunikation zwischen dem Host und Webinhalten
Hosts und Webinhalte können in postMessages wie folgt miteinander kommunizieren:
- Webinhalte in der WebView2-Steuerung können verwendet werden, um eine Nachricht an den Host in window.chrome.webview.postMessage zu veröffentlichen. Der Host verarbeitet die Nachricht mit jeder Nachricht, die WebMessageReceived auf dem Host registriert.
- Der Host veröffentlicht Nachrichten an die Webinhalte in der WebView2-Steuerung CoreWebView2.PostWebMessageAsString mit oder CoreWebView2.PostWebMessageAsJSON. Diese Nachrichten werden vom Handler erfasst, der zu window.chrome.webview.addEventListener hinzugefügt wurde.
Erstelle ein neues Angular SPA-Projekt
Dieser Artikel verwendet Angular 8.2.14, um ein neues Webprojekt zu erstellen, das die Kommunikation zwischen dem Web und der WinForm-Anwendung demonstriert.
Der Code lautet wie folgt:
Gleichzeitig werden die app.component.html- und app.component.ts-Dateien so verändert, dass sie die Funktionen des Sendens und Empfangens von Nachrichten realisieren.
app.component.html Code lautet wie folgt:
app.component.ts Code lautet wie folgt:
Führen Sie das Projekt wie unten gezeigt durch:
WinForm-Anwendung
Die Host-Anwendung muss den Code wie folgt modifizieren:
Änderung der WebView2-SteuerungQuellattribut ist: http://localhost:4200/Um die Anwendung zu starten, wie unten gezeigt:
Versuchen Sie abschließend, Nachrichten miteinander über die Web- und WinForm-Anwendungen zu senden, und Sie können sehen, dass beide Parteien die Nachrichten erfolgreich empfangen können, wie in der folgenden Abbildung gezeigt:
(Ende)
|