Reikalavimai: Kaip "WebView2" gali atvaizduoti ir rodyti žiniatinklio išteklius vartotojo veiksmams, kaip žiniatinklio sąsaja gali bendrauti su "WinForm" programa? Pavyzdžiui, žiniatinklis skaito aparatūros informaciją per programą, o programa aktyviai atnaujina tinklalapio turinį.
Peržiūra:
Pirmiausia pažvelkite į ryšio tarp žiniatinklio ir "WinForm" programos atvaizdus, žiniatinklis siunčia pranešimą programai,Iškvieskite skaičiuotuvo funkciją, kuri atidaro "Windows" sistemąTuo pačiu metu programa taip pat gali sėkmingai gauti pranešimus, siunčiamus į žiniatinklio pusę, kaip parodyta paveikslėlyje žemiau:
Ryšys tarp pagrindinio kompiuterio ir žiniatinklio turinio
Pagrindiniai kompiuteriai ir žiniatinklio turinys gali būti naudojami bendrauti tarpusavyje postMessages, kaip nurodyta toliau:
- Žiniatinklio turinys valdiklyje "WebView2" gali būti naudojamas norint publikuoti pranešimą pagrindiniam kompiuteriui window.chrome.webview.postMessage. Pagrindinis kompiuteris apdoroja pranešimą su bet kokiu pranešimu, kuris užregistruoja WebMessageReceived pagrindiniame kompiuteryje.
- Pagrindinis kompiuteris publikuoja pranešimus žiniatinklio turiniui WebView2 valdiklyje CoreWebView2.PostWebMessageAsString naudodamas arba CoreWebView2.PostWebMessageAsJSON. Šiuos pranešimus užfiksuoja apdorojimo programa, pridėta prie window.chrome.webview.addEventListener.
Sukurkite naują "Angular SPA" projektą
Šiame straipsnyje naudojama "Angular 8.2.14", kad būtų sukurtas naujas žiniatinklio projektas, skirtas parodyti ryšį tarp žiniatinklio ir "WinForm" programos.
Kodas yra toks:
Tuo pačiu metu pakeiskite app.component.html ir app.component.ts failus, kad suprastumėte pranešimų siuntimo ir gavimo funkcijas.
app.component.html kodas yra toks:
app.component.ts kodas yra toks:
Vykdykite projektą, kaip parodyta toliau:
WinForm programa
Pagrindinė programa turi pakeisti kodą taip:
Valdiklio "WebView2" modifikavimasŠaltinio atributas yra: http://localhost:4200/Norėdami paleisti programą, kaip parodyta toliau:
Galiausiai pabandykite siųsti pranešimus vienas kitam naudodami žiniatinklio ir "WinForm" programas ir pamatysite, kad abi šalys gali sėkmingai gauti pranešimus, kaip parodyta šiame paveikslėlyje:
(Pabaiga)
|