この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 6696|答える: 5

[出典] WebView2 (3) WebとWinFormアプリケーション間の双方向通信

[リンクをコピー]
掲載地 2022/09/27 22:12:31 | | | |
要件:WebView2はユーザーの操作に対してウェブリソースをどのようにレンダリング・表示できるか、ウェブインターフェースはどのようにしてWinFormアプリケーションと通信できるか? 例えば、ウェブはアプリケーションを通じてハードウェア情報を読み込み、アプリケーションはウェブページの内容を積極的に更新します。

復習:

[WebView2] (1) Microsoft Edge WebView2技術の初期導入
https://www.itsvse.com/thread-10361-1-1.html

[WebView2] (2) WinFormがWebView2を導入し、ウェブコンテンツを表示
https://www.itsvse.com/thread-10362-1-1.html
まず、ウェブとWinFormアプリケーション間の通信レンダリングを見てください。ウェブはアプリケーションにメッセージを送信します。Windowsシステムを開く計算機機能を呼び出す同時に、アプリケーションはウェブ側に送信されたメッセージも正常に受信できます。以下の図に示されています。



ホストとウェブコンテンツ間の通信

ホストとウェブコンテンツは、postMessagesで以下の方法で互いにコミュニケーションを取ることができます。

  • WebView2コントロール内のウェブコンテンツは、windows.chrome.webview.postMessageのホストにメッセージを公開するために使用できます。 ホストは、そのホスト上でWebMessageReceivedを登録する任意のメッセージでメッセージを処理します。
  • ホストはWebView2コントロール内のCoreWebView2.PostWebMessageAsStringまたはCoreWebView2.PostWebMessageAsJSONを使ってウェブコンテンツにメッセージを公開します。 これらのメッセージは、window.chrome.webview.addEventListenerに追加されたハンドラーによってキャプチャされます。


新しいAngular SPAプロジェクトを作成する

この記事では、Angular 8.2.14を用いて、ウェブとWinFormアプリケーション間の通信を示す新しいウェブプロジェクトを作成しました。

コードは以下の通りです:

同時に、app.component.htmlファイルやapp.component.tsファイルを修正してメッセージの送受信機能を実現します。

app.component.htmlコードは以下の通りです:

app.component.tsコードは以下の通りです:

以下のようにプロジェクトを実行してください:



WinFormアプリケーション

ホストアプリケーションは以下のようにコードを修正する必要があります:

WebView2コントロールを修正してください出典属性は以下の通りです:http://localhost:4200/以下のようにアプリケーションを起動するために:



最後に、WebとWinFormアプリケーションでメッセージを送り合うと、両者がメッセージを正常に受信できることがわかります。以下の図に示されています:



(終わり)





先の:【パフォーマンス最適化】フロントエンドのPreconnect、DNS-Prefetch、プリロード機能
次に:[WebView2] (4) WebとWinFormは関数メソッドを互いに呼び出します
掲載地 2022/09/28 8:55:45 |
EDGに頼るしかないと頭痛の種です
 地主| 掲載地 2022/09/28 19:26:50 |
Zmoli775 2022年9月28日 08:55に投稿
EDGに頼るしかないと頭痛の種です

いいえ、でもwebview2のランタイムをインストールする必要があります
掲載地 2022/10/08 15:06:24 |
学ぶために
掲載地 2023/03/31 13:32:46 |
Win7は動作しないようです。Microsoftのドキュメントにはサポートしていないと書かれているのを読みました。
 地主| 掲載地 2025/01/07 13:29:35 |
同じプロセスで。 NETとJavaScriptです。

ハイパーリンクのログインが見えます。
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com