v

[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;
        }
    }
|

댓글 1개

댓글을 작성하시려면 로그인이 필요합니다.

프로그램

+
제목 글쓴이 날짜 조회
14년 전 조회 2,081
14년 전 조회 1,849
14년 전 조회 1,447
14년 전 조회 1,929
14년 전 조회 1,928
14년 전 조회 1,797
14년 전 조회 1,374
14년 전 조회 1,296
14년 전 조회 1,709
14년 전 조회 1,201
14년 전 조회 3,788
14년 전 조회 1,240
14년 전 조회 1,632
14년 전 조회 1,268
14년 전 조회 1,320
14년 전 조회 2,565
14년 전 조회 1,599
14년 전 조회 2,065
14년 전 조회 1,344
14년 전 조회 1,909
14년 전 조회 2,435
14년 전 조회 1,507
14년 전 조회 1,951
14년 전 조회 1,486
14년 전 조회 1,863
14년 전 조회 3,300
14년 전 조회 1,354
14년 전 조회 5,500
14년 전 조회 1,337
14년 전 조회 1,528
14년 전 조회 1,348
14년 전 조회 4,104
14년 전 조회 1,162
14년 전 조회 1,498
14년 전 조회 1,802
14년 전 조회 1,816
14년 전 조회 1,273
14년 전 조회 1,901
14년 전 조회 1,377
14년 전 조회 1,263
14년 전 조회 2,918
14년 전 조회 1,674
14년 전 조회 1,253
14년 전 조회 1,237
14년 전 조회 2,283
14년 전 조회 1,443
14년 전 조회 1,852
14년 전 조회 1,836
14년 전 조회 2,436
14년 전 조회 2,502
14년 전 조회 1,781
14년 전 조회 1,397
14년 전 조회 1,347
14년 전 조회 1,573
14년 전 조회 1,765
14년 전 조회 3,221
14년 전 조회 1,223
14년 전 조회 1,569
14년 전 조회 1,708
14년 전 조회 2,069
14년 전 조회 1,271
14년 전 조회 1,159
14년 전 조회 1,874
14년 전 조회 2,247
14년 전 조회 2,335
14년 전 조회 1,499
14년 전 조회 1,309
14년 전 조회 2,443
14년 전 조회 1,518
14년 전 조회 1,860
14년 전 조회 1,308
14년 전 조회 1,389
14년 전 조회 1,402
14년 전 조회 1,469
14년 전 조회 5,278
14년 전 조회 1,343
14년 전 조회 1,492
14년 전 조회 2,173
14년 전 조회 1,301
14년 전 조회 1,083
14년 전 조회 1,495
14년 전 조회 2,776
14년 전 조회 2,188
14년 전 조회 2,064
14년 전 조회 3,484
14년 전 조회 2,595
14년 전 조회 1,534
14년 전 조회 1,592
14년 전 조회 1,564
14년 전 조회 1,685
14년 전 조회 1,118
14년 전 조회 1,453
14년 전 조회 1,579
14년 전 조회 3,167
14년 전 조회 1,464
14년 전 조회 1,204
14년 전 조회 1,192
14년 전 조회 3,537
14년 전 조회 1,311
14년 전 조회 2,029