Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 6696|Vastaus: 5

[Lähde] WebView2 (3) Kaksisuuntainen viestintä Web- ja WinForm-sovellusten välillä

[Kopioi linkki]
Julkaistu 27.9.2022 22.12.31 | | | |
Vaatimukset: Miten WebView2 voi renderöidä ja näyttää verkkoresursseja käyttäjän toimia varten, miten verkkokäyttöliittymä voi kommunikoida WinForm-sovelluksen kanssa? Esimerkiksi verkko lukee laitteistotietoja sovelluksen kautta, ja sovellus päivittää aktiivisesti verkkosivun sisältöä.

Arvostelu:

[WebView2] (1) Ensikosketus Microsoft Edge WebView2 -teknologiaan
https://www.itsvse.com/thread-10361-1-1.html

[WebView2] (2) WinForm esittelee WebView2:n näyttämään verkkosisältöä
https://www.itsvse.com/thread-10362-1-1.html
Ensiksi tarkastele verkon ja WinForm-sovelluksen välisen viestinnän renderöintiä, verkko lähettää viestin sovellukselle,Käynnistä laskurin, joka avaa Windows-järjestelmänSamaan aikaan sovellus voi myös vastaanottaa onnistuneesti viestejä verkkopuolelle, kuten alla olevassa kuvassa näkyy:



Viestintä isännän ja verkkosisällön välillä

Isännät ja verkkosisältö voivat kommunikoida keskenään postMessages-muodossa seuraavasti:

  • WebView2-ohjaimen verkkosisältöä voidaan käyttää viestin julkaisemiseen isännälle osoitteessa window.chrome.webview.postMessage. Isäntä käsittelee viestin minkä tahansa viestin kanssa, joka rekisteröi WebMessageReceiveedin isännässä.
  • Isäntä julkaisee viestejä verkkosisältöön WebView2-ohjauksella CoreWebView2.PostWebMessageAsString käyttäen tai CoreWebView2.PostWebMessageAsJSON. Nämä viestit tallennetaan windows.chrome.webview.addEventListener -sivustolle lisätty käsittelijä.


Luo uusi Angular SPA -projekti

Tässä artikkelissa käytetään Angular 8.2.14:ää luodakseen uuden verkkoprojektin, joka havainnollistaa viestintää verkon ja WinForm-sovelluksen välillä.

Koodi on seuraava:

Samaan aikaan muokkaa app.component.html- ja app.component.ts-tiedostoja niin, että viestien lähettämisen ja vastaanottamisen toiminnot toteutuvat.

app.component.html koodi on seuraava:

app.component.ts koodi on seuraava:

Johda projekti alla esitetyllä tavalla:



WinForm-sovellus

Isäntäsovelluksen tulee muokata koodia seuraavasti:

Muokkaa WebView2-ohjaustaLähdeattribuutti on: http://localhost:4200/Sovelluksen käynnistämiseksi, kuten alla on esitetty:



Lopuksi kokeile lähettää viestejä toisilleen Web- ja WinForm-sovelluksilla, ja näet, että molemmat osapuolet voivat vastaanottaa viestit onnistuneesti, kuten seuraavassa kuvassa näkyy:



(Loppu)





Edellinen:【Suorituskyvyn optimointi】Preconnect, DNS-Prefetch ja Preload -ominaisuudet käyttöliittymässä
Seuraava:[WebView2] (4) Web ja WinForm kutsuvat funktiometodeja toisilleen
Julkaistu 28.9.2022 8.55.45 |
Sen täytyy luottaa EDG:hen päänsärkynä
 Vuokraisäntä| Julkaistu 28.9.2022 19.26.50 |
Zmoli775 Julkaistu 2022-9-28 08:55
Sen täytyy luottaa EDG:hen päänsärkynä

Ei, mutta sinun täytyy asentaa webview2:n ajonaika.
Julkaistu 8.10.2022 15.06.24 |
Opettele oppimaan
Julkaistu 31.3.2023 13.32.46 |
Win7 ei tunnu toimivan, luin Microsoftin dokumentaatiosta ettei se tue sitä?
 Vuokraisäntä| Julkaistu 7.1.2025 13.29.35 |
samassa prosessissa. NET ja JavaScript.

Hyperlinkin kirjautuminen on näkyvissä.
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com