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,347
14년 전 조회 2,099
14년 전 조회 1,703
14년 전 조회 2,156
14년 전 조회 2,154
14년 전 조회 2,028
14년 전 조회 1,597
14년 전 조회 1,549
14년 전 조회 1,970
14년 전 조회 1,466
14년 전 조회 4,046
14년 전 조회 1,481
14년 전 조회 1,880
14년 전 조회 1,535
14년 전 조회 1,555
14년 전 조회 2,807
14년 전 조회 1,859
14년 전 조회 2,298
14년 전 조회 1,594
14년 전 조회 2,164
14년 전 조회 2,669
14년 전 조회 1,744
14년 전 조회 2,215
14년 전 조회 1,733
14년 전 조회 2,098
14년 전 조회 3,557
14년 전 조회 1,596
14년 전 조회 5,741
14년 전 조회 1,600
14년 전 조회 1,767
14년 전 조회 1,621
14년 전 조회 4,317
14년 전 조회 1,419
14년 전 조회 1,743
14년 전 조회 2,059
14년 전 조회 2,066
14년 전 조회 1,547
14년 전 조회 2,166
14년 전 조회 1,629
14년 전 조회 1,511
14년 전 조회 3,171
14년 전 조회 1,904
14년 전 조회 1,498
14년 전 조회 1,472
14년 전 조회 2,519
14년 전 조회 1,674
14년 전 조회 2,092
14년 전 조회 2,070
14년 전 조회 2,683
14년 전 조회 2,755
14년 전 조회 2,022
14년 전 조회 1,667
14년 전 조회 1,586
14년 전 조회 1,798
14년 전 조회 1,993
14년 전 조회 3,449
14년 전 조회 1,471
14년 전 조회 1,818
14년 전 조회 1,956
14년 전 조회 2,320
14년 전 조회 1,524
14년 전 조회 1,412
14년 전 조회 2,123
14년 전 조회 2,471
14년 전 조회 2,546
14년 전 조회 1,731
14년 전 조회 1,531
14년 전 조회 2,660
14년 전 조회 1,746
14년 전 조회 2,133
14년 전 조회 1,562
14년 전 조회 1,656
14년 전 조회 1,612
14년 전 조회 1,700
14년 전 조회 5,542
14년 전 조회 1,587
14년 전 조회 1,728
14년 전 조회 2,405
14년 전 조회 1,560
14년 전 조회 1,348
14년 전 조회 1,699
14년 전 조회 2,993
14년 전 조회 2,412
14년 전 조회 2,264
14년 전 조회 3,702
14년 전 조회 2,798
14년 전 조회 1,758
14년 전 조회 1,822
14년 전 조회 1,784
14년 전 조회 1,891
14년 전 조회 1,357
14년 전 조회 1,679
14년 전 조회 1,811
14년 전 조회 3,372
14년 전 조회 1,676
14년 전 조회 1,427
14년 전 조회 1,415
14년 전 조회 3,772
14년 전 조회 1,539
14년 전 조회 2,242