이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 6696|회답: 5

[출처] WebView2 (3) 웹과 WinForm 애플리케이션 간의 양방향 통신

[링크 복사]
게시됨 2022. 9. 27. 오후 10: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 애플리케이션 간의 통신 렌더링을 보세요. 웹은 애플리케이션에 메시지를 보냅니다.윈도우 시스템을 열어주는 계산기 기능을 호출하세요동시에, 애플리케이션은 아래 그림과 같이 웹 측으로 전송된 메시지도 성공적으로 수신할 수 있습니다:



호스트와 웹 콘텐츠 간의 통신

호스트와 웹 콘텐츠는 postMessages에서 다음과 같이 서로 소통할 수 있습니다:

  • WebView2 컨트롤의 웹 콘텐츠를 사용하여 windows.chrome.webview.postMessage 호스트에 메시지를 게시할 수 있습니다. 호스트는 WebMessageReceived가 등록된 모든 메시지로 메시지를 처리합니다.
  • 호스트는 WebView2 컨트롤 CoreWebView2.PostWebMessageAsString 또는 CoreWebView2.PostWebMessageAsJSON 또는 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 코드는 다음과 같습니다:

아래 설명대로 프로젝트를 실행하세요:



윈폼 애플리케이션

호스트 애플리케이션은 다음과 같이 코드를 수정해야 합니다:

WebView2 컨트롤을 수정하기출처 속성은 다음과 같습니다: http://localhost:4200/아래 설명과 같이 애플리케이션을 실행하려면:



마지막으로, 웹과 윈도포르 애플리케이션으로 서로 메시지를 보내보면, 양측 모두 메시지를 성공적으로 받을 수 있음을 확인할 수 있습니다. 다음 그림에서 볼 수 있습니다:



(끝)





이전의:【성능 최적화】프론트엔드의 프리커트, DNS-프리페치, 프리로드 기능
다음:[WebView2] (4) 웹과 WinForm은 함수 메서드를 서로 호출합니다
게시됨 2022. 9. 28. 오전 8:55:45 |
EDG에 의존해야 해요
 집주인| 게시됨 2022. 9. 28. 오후 7:26:50 |

아니요, 하지만 webview2 런타임을 설치해야 합니다
게시됨 2022. 10. 8. 오후 3:06:24 |
배우기 위해 배우세요
게시됨 2023. 3. 31. 오후 1:32:46 |
윈도우 7은 작동하지 않는 것 같아요. 마이크로소프트 문서에 지원하지 않는다고 읽었는데요?
 집주인| 게시됨 2025. 1. 7. 오후 1:29:35 |
같은 과정에서. NET과 JavaScript.

하이퍼링크 로그인이 보입니다.
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com