Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 6696|Resposta: 5

[Fonte] WebView2 (3) Comunicação bidirecional entre aplicações Web e WinForm

[Copiar link]
Publicado em 27/09/2022 22:12:31 | | | |
Requisitos: Como o WebView2 pode renderizar e exibir recursos web para ações do usuário, como a interface web pode se comunicar com a aplicação WinForm? Por exemplo, a web lê informações de hardware através do aplicativo, e o aplicativo atualiza ativamente o conteúdo da página web.

Revisar:

[WebView2] (1) Introdução inicial à tecnologia Microsoft Edge WebView2
https://www.itsvse.com/thread-10361-1-1.html

[WebView2] (2) WinForm introduz o WebView2 para exibir conteúdo web
https://www.itsvse.com/thread-10362-1-1.html
Primeiro, observe as renderizações da comunicação entre a web e o aplicativo WinForm, a web envia uma mensagem para o aplicativo,Invocar a função Calculadora que abre o sistema WindowsAo mesmo tempo, o aplicativo também pode receber com sucesso mensagens enviadas para o lado web, como mostrado na figura abaixo:



Comunicação entre o host e o conteúdo web

Hosts e conteúdo web podem ser usados para se comunicar entre si no postMessages, da seguinte forma:

  • Conteúdo web no controle WebView2 pode ser usado para publicar uma mensagem para o host em windows.chrome.webview.postMessage. O host processa a mensagem com qualquer mensagem que registre WebMessageReceived no host.
  • O host publica mensagens para o conteúdo Web no controle WebView2 CoreWebView2.PostWebMessageAsString usando ou CoreWebView2.PostWebMessageAsJSON. Essas mensagens são capturadas pelo handler adicionado ao window.chrome.webview.addEventListener.


Criar um novo projeto Angular SPA

Este artigo utiliza o Angular 8.2.14 para criar um novo projeto web que demonstre a comunicação entre a web e o aplicativo WinForm.

O código é o seguinte:

Ao mesmo tempo, modificar os arquivos app.component.html e app.component.ts para realizar as funções de envio e recebimento de mensagens.

app.component.html código é o seguinte:

app.component.ts código é o seguinte:

Conduza o projeto conforme mostrado abaixo:



Aplicação WinForm

A aplicação hospedeira precisa modificar o código da seguinte forma:

Modificar o controle WebView2Atributo fonte é: http://localhost:4200/para lançar o aplicativo, conforme mostrado abaixo:



Por fim, tente enviar mensagens entre si pelos aplicativos Web e WinForm, e você verá que ambas as partes conseguem receber as mensagens com sucesso, como mostrado na figura a seguir:



(Fim)





Anterior:【Recursos de Otimização de Desempenho】Pré-conexão, DNS-Prebusca e Pré-carregamento na interface
Próximo:[WebView2] (4) Métodos de chamada de funções Web e WinForm entre si
Publicado em 28/09/2022 08:55:45 |
Tem que depender do EDG como dor de cabeça
 Senhorio| Publicado em 28/09/2022 19:26:50 |
Zmoli775 Postado em 28-09-2022 08:55
Tem que depender do EDG como dor de cabeça

Não, mas você precisa instalar o runtime do Webview2
Publicado em 08/10/2022 15:06:24 |
Aprenda a aprender
Publicado em 31/03/2023 13:32:46 |
O Win7 não parece funcionar, li a documentação da Microsoft diz que não suporta isso?
 Senhorio| Publicado em 07/01/2025 13:29:35 |
no mesmo processo. NET e JavaScript.

O login do hiperlink está visível.
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com