Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 6696|Antwort: 5

[Quelle] WebView2 (3) Bidirektionale Kommunikation zwischen Web- und WinForm-Anwendungen

[Link kopieren]
Veröffentlicht am 27.09.2022 22:12:31 | | | |
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:

[WebView2] (1) Erste Einführung in die Microsoft Edge WebView2-Technologie
https://www.itsvse.com/thread-10361-1-1.html

[WebView2] (2) WinForm führt WebView2 ein, um Webinhalte anzuzeigen
https://www.itsvse.com/thread-10362-1-1.html
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)





Vorhergehend:【Performance Optimization】Preconnect, DNS-Prefetch und Preload-Funktionen im Frontend
Nächster:[WebView2] (4) Web- und WinForm-Aufruffunktionsmethoden aufeinander
Veröffentlicht am 28.09.2022 08:55:45 |
Es muss auf EDG als Kopfschmerz angewiesen sein
 Vermieter| Veröffentlicht am 28.09.2022 19:26:50 |
Zmoli775 Veröffentlicht am 28.9.2022 08:55
Es muss auf EDG als Kopfschmerz angewiesen sein

Nein, aber du musst die WebView2-Laufzeit installieren
Veröffentlicht am 08.10.2022 15:06:24 |
Lernen lernen
Veröffentlicht am 31.03.2023 13:32:46 |
Win7 scheint nicht zu funktionieren, ich habe in der Microsoft-Dokumentation gelesen, dass es nicht unterstützt wird?
 Vermieter| Veröffentlicht am 07.01.2025 13:29:35 |
im gleichen Prozess. NET und JavaScript.

Der Hyperlink-Login ist sichtbar.
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com