Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 6696|Antwoord: 5

[Bron] WebView2 (3) Bidirectionele communicatie tussen de web- en WinForm-applicaties

[Link kopiëren]
Geplaatst op 27-09-2022 22:12:31 | | | |
Eisen: Hoe kan WebView2 webbronnen renderen en weergeven voor gebruikersacties, hoe kan de webinterface communiceren met de WinForm-applicatie? Zo leest het web hardware-informatie via de applicatie, en de applicatie verst actief de inhoud van de webpagina.

Recensie:

[WebView2] (1) Eerste introductie tot Microsoft Edge WebView2-technologie
https://www.itsvse.com/thread-10361-1-1.html

[WebView2] (2) WinForm introduceert WebView2 om webinhoud weer te geven
https://www.itsvse.com/thread-10362-1-1.html
Kijk eerst naar de weergave van de communicatie tussen het web en de WinForm-applicatie, het web stuurt een bericht naar de applicatie,Roep de Calculator-functie aan die het Windows-systeem opentTegelijkertijd kan de applicatie ook succesvol berichten ontvangen die naar de webzijde worden gestuurd, zoals weergegeven in de onderstaande figuur:



Communicatie tussen de host en webinhoud

Hosts en webinhoud kunnen worden gebruikt om met elkaar te communiceren in postMessages, als volgt:

  • Webinhoud in de WebView2-besturing kan worden gebruikt om een bericht naar de host te publiceren in window.chrome.webview.postMessage. De host verwerkt het bericht met elk bericht dat WebMessageReceived op de host registreert.
  • De host publiceert berichten naar de webinhoud in de WebView2-controle CoreWebView2.PostWebMessageAsString met behulp van of CoreWebView2.PostWebMessageAsJSON. Deze berichten worden vastgelegd door de handler die is toegevoegd aan window.chrome.webview.addEventListener.


Maak een nieuw Angular SPA-project aan

Dit artikel gebruikt Angular 8.2.14 om een nieuw webproject te maken dat de communicatie tussen het web en de WinForm-applicatie demonstreert.

De code is als volgt:

Tegelijkertijd wijzig je de app.component.html en app.component.ts bestanden om de functies van het verzenden en ontvangen van berichten te realiseren.

app.component.html code is als volgt:

app.component.ts code is als volgt:

Voer het project uit zoals hieronder weergegeven:



WinForm-aanvraag

De hostapplicatie moet de code als volgt wijzigen:

Wijzig de WebView2-besturingBron-attribuut is: http://localhost:4200/om de applicatie te starten, zoals hieronder getoond:



Probeer tenslotte berichten naar elkaar te sturen met de Web- en WinForm-applicaties, en je ziet dat beide partijen de berichten succesvol kunnen ontvangen, zoals weergegeven in de volgende figuur:



(Einde)





Vorig:【Performance Optimalisatie】Preconnect, DNS-Prefetch en Preload-functies op de front-end
Volgend:[WebView2] (4) Web- en WinForm-functiemethoden roepen elkaar aan
Geplaatst op 28-09-2022 08:55:45 |
Het moet vertrouwen op EDG als hoofdpijn
 Huisbaas| Geplaatst op 28-09-2022 19:26:50 |
Zmoli775 Geplaatst op 28-9-2022 08:55
Het moet vertrouwen op EDG als hoofdpijn

Nee, maar je moet wel de webview2-runtime installeren
Geplaatst op 08-10-2022 15:06:24 |
Leer leren
Geplaatst op 31-03-2023 13:32:46 |
Win7 lijkt niet te werken, ik las in de documentatie van Microsoft dat het het niet ondersteunt?
 Huisbaas| Geplaatst op 07-01-2025 13:29:35 |
in hetzelfde proces. NET en JavaScript.

De hyperlink-login is zichtbaar.
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com