Gereksinimler: WebView2, kullanıcı eylemleri için web kaynaklarını nasıl işleyebilir ve gösterebilir, web arayüzü WinForm uygulamasıyla nasıl iletişim kurabilir? Örneğin, web donanım bilgilerini uygulama üzerinden okur ve uygulama web sayfasının içeriğini aktif olarak yeniler.
Eleştiri:
Öncelikle, web ile WinForm uygulaması arasındaki iletişimin renderlerine bakın, web uygulamaya bir mesaj gönderir,Windows sistemini açan Hesap Makinesi fonksiyonunu çağırınAynı zamanda, uygulama aşağıdaki şekilde gösterildiği gibi web tarafına gönderilen mesajları da başarıyla alabilir:
Sunucu ile web içeriği arasındaki iletişim
Sunucular ve web içeriği, postMessages'ta birbirleriyle iletişim kurmak için aşağıdaki gibi kullanılabilir:
- WebView2 kontrolündeki web içeriği, window.chrome.webview.postMessage adresinde ana bilgisayara mesaj yayımlamak için kullanılabilir. Ana bilgisayar, WebMessageReceives'i ana bilgisayarda kaydeden herhangi bir mesajla mesajı işler.
- Ana bilgisayar, WebView2 kontrolü CoreWebView2.PostWebMessageAsString veya CoreWebView2.PostWebMessageAsJSON kullanarak Web içeriğine mesajlar yayımlar. Bu mesajlar, window.chrome.webview.addEventListener sayfasına eklenen işleyici tarafından yakalanır.
Yeni bir Angular SPA projesi oluşturun
Bu makale, web ile WinForm uygulaması arasındaki iletişimi göstermek için yeni bir web projesi oluşturmak için Angular 8.2.14 kullanmaktadır.
Kod şöyledir:
Aynı zamanda, app.component.html ve app.component.ts dosyalarını mesaj gönderme ve alma işlevlerini gerçekleştirmek için değiştirin.
app.component.html kodu şöyledir:
app.component.ts kodu şöyledir:
Projeyi aşağıda gösterildiği gibi yürütün:
WinForm uygulaması
Ana uygulama kodu aşağıdaki şekilde değiştirmelidir:
WebView2 kontrolünü değiştirKaynak özniteliği: http://localhost:4200/Uygulamayı başlatmak için, aşağıda gösterildiği gibi:
Son olarak, Web ve WinForm uygulamalarıyla birbirinize mesaj göndermeyi deneyin; aşağıdaki şekilde gösterildiği gibi, her iki tarafın da mesajları başarıyla alabileceğini görebilirsiniz:
(Son)
|