[visual C#] 어플 제작중 Application에서 html 페이지를 보여줄 경우 close되는 시점잡기
c#을 활용하여 윈도우 어플리케이션을 개발 하던 도중 ,
html 페이지를 보여주야 되는 경우가 생겼으며, html내에 있는 flash 컨텐츠가 종료 되었을 때 어플리케이션도 같이
종료가 도어야 하는 상황이 발생 하였습니다.
그래서 구글링 하던 도중 좋은 예가 있어서 이렇게 올려 봅니다.
c#에서 javascript 이벤트를 catch하여 application 단에서 처리를 할 수 있을거 같습니다.
아레주소 눌러 보시면 보다 자세한 내용 보실 수 있습니다.
다음은 주요 소스 입니다.
결론적으로 WebBrowser를 확장해서 처리를 하더군요 . 아래 소스 보시면 이해 되실거라 생각 됩니다.
//Extend the WebBrowser control
public class ExtendedWebBrowser : WebBrowser
{
// Define constants from winuser.h
private const int WM_PARENTNOTIFY = 0x210;
private const int WM_DESTROY = 2;
AxHost.ConnectionPointCookie cookie;
WebBrowserExtendedEvents events;
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case WM_PARENTNOTIFY:
if (!DesignMode)
{
if (m.WParam.ToInt32() == WM_DESTROY)
{
Message newMsg = new Message();
newMsg.Msg = WM_DESTROY;
// Tell whoever cares we are closing
Form parent = this.Parent as Form;
if (parent!=null)
parent.Close();
}
}
DefWndProc(ref m);
break;
default:
base.WndProc(ref m);
break;
}
}
public class ExtendedWebBrowser : WebBrowser
{
// Define constants from winuser.h
private const int WM_PARENTNOTIFY = 0x210;
private const int WM_DESTROY = 2;
AxHost.ConnectionPointCookie cookie;
WebBrowserExtendedEvents events;
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case WM_PARENTNOTIFY:
if (!DesignMode)
{
if (m.WParam.ToInt32() == WM_DESTROY)
{
Message newMsg = new Message();
newMsg.Msg = WM_DESTROY;
// Tell whoever cares we are closing
Form parent = this.Parent as Form;
if (parent!=null)
parent.Close();
}
}
DefWndProc(ref m);
break;
default:
base.WndProc(ref m);
break;
}
}
댓글 1개
13년 전
감사요
게시글 목록
| 번호 | 제목 |
|---|---|
| 14699 |
jQuery
jQuery SELECT 태그 관련 내용
1
|
| 2648 | |
| 14695 |
PHP
php 삽질 문의드려요~
3
|
| 2643 | |
| 14694 | |
| 2634 | |
| 24207 | |
| 29791 | |
| 14692 | |
| 29790 |
HTML
배경이미지 고정하기 스타일시트
|
| 29789 | |
| 29786 | |
| 14689 | |
| 26002 | |
| 25999 | |
| 25998 | |
| 25994 | |
| 2628 | |
| 14688 |
JavaScript
Apache 튜닝해서 사용하시는분 계신가요?
|
| 2624 | |
| 14686 |
MySQL
실력 있고 성실한 프로그래머 지원하세요
1
|
| 14682 | |
| 14676 | |
| 14673 |
MySQL
에러 해결.. 할수있을까여?
2
|
| 14670 |
MySQL
mysql 퀴리문 질문~
2
|
| 14666 |
MySQL
mysql 디비복구 전문이신분 급합니다
3
|
| 14660 |
JavaScript
if 문 질문드립니다...
5
|
| 29785 |
HTML
HTML5 elements
|
| 14658 | |
| 14657 | |
| 2606 | |
| 14654 | |
| 14651 |
JavaScript
도움이 필요합니다.
2
|
| 14647 | |
| 2578 | |
| 14645 | |
| 2568 | |
| 14643 |
기타
유니코드 한글 코드
1
|
| 24199 | |
| 2559 | |
| 2539 | |
| 14640 |
정규표현식
유효한 이메일주소 검사 정규표현식?
2
|
| 2536 | |
| 14639 | |
| 25989 | |
| 14636 | |
| 14633 | |
| 29783 |
HTML
한글 체크 함수
1
|
| 25982 |
계약서
홈페이지 유지보수계약서
6
|
| 2531 | |
| 25981 | |
| 25980 | |
| 25979 | |
| 24196 | |
| 24193 | |
| 24191 | |
| 2526 | |
| 14629 | |
| 2525 | |
| 2524 | |
| 2522 | |
| 2519 | |
| 25977 | |
| 2516 | |
| 25964 | |
| 24187 | |
| 14621 |
MySQL
DB없으면 생성 있다면 업데이트
7
|
| 14614 | |
| 25956 | |
| 25955 | |
| 14609 |
MySQL
MySQL 라이센스?
4
|
| 14602 |
jQuery
jQuery 메뉴(menu) 모음
6
|
| 25953 | |
| 14599 | |
| 14596 | |
| 14595 | |
| 14594 |
jQuery
jQuery 1.6.3 lib
|
| 29782 | |
| 2499 | |
| 2484 | |
| 24180 | |
| 14592 |
jQuery
개발자님에게 제이쿼리 질문좀 드립니다.
1
|
| 25952 | |
| 2478 | |
| 2466 | |
| 2460 | |
| 2459 | |
| 14589 | |
| 2456 | |
| 2436 | |
| 2420 | |
| 2403 | |
| 2397 | |
| 29778 |
HTML
질문드립니다.답답해죽겠습니다.
3
|
| 2393 | |
| 14586 |
JavaScript
중복 로그인 db로 못하게 하려고 하는데 괜찮은 방법있나요??
2
|
| 2387 | |
| 2384 | |
| 14581 |
기타
햬결좀부탁드릴게요.
4
|
| 2381 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기