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년 전 조회 1,887
14년 전 조회 1,711
14년 전 조회 1,244
14년 전 조회 1,737
14년 전 조회 1,741
14년 전 조회 1,602
14년 전 조회 1,182
14년 전 조회 1,101
14년 전 조회 1,565
14년 전 조회 1,035
14년 전 조회 3,617
14년 전 조회 1,057
14년 전 조회 1,450
14년 전 조회 1,092
14년 전 조회 1,136
14년 전 조회 2,380
14년 전 조회 1,422
14년 전 조회 1,899
14년 전 조회 1,165
14년 전 조회 1,737
14년 전 조회 2,263
14년 전 조회 1,312
14년 전 조회 1,786
14년 전 조회 1,313
14년 전 조회 1,683
14년 전 조회 3,118
14년 전 조회 1,167
14년 전 조회 5,387
14년 전 조회 1,167
14년 전 조회 1,346
14년 전 조회 1,181
14년 전 조회 3,903
14년 전 조회 979
14년 전 조회 1,329
14년 전 조회 1,611
14년 전 조회 1,635
14년 전 조회 1,105
14년 전 조회 1,730
14년 전 조회 1,191
14년 전 조회 1,068
14년 전 조회 2,740
14년 전 조회 1,474
14년 전 조회 1,081
14년 전 조회 1,052
14년 전 조회 2,104
14년 전 조회 1,267
14년 전 조회 1,677
14년 전 조회 1,657
14년 전 조회 2,318
14년 전 조회 2,331
14년 전 조회 1,595
14년 전 조회 1,225
14년 전 조회 1,182
14년 전 조회 1,396
14년 전 조회 1,577
14년 전 조회 3,112
14년 전 조회 1,047
14년 전 조회 1,378
14년 전 조회 1,525
14년 전 조회 1,900
14년 전 조회 1,102
14년 전 조회 1,000
14년 전 조회 1,714
14년 전 조회 2,079
14년 전 조회 2,174
14년 전 조회 1,409
14년 전 조회 1,145
14년 전 조회 2,284
14년 전 조회 1,362
14년 전 조회 1,703
14년 전 조회 1,158
14년 전 조회 1,219
14년 전 조회 1,246
14년 전 조회 1,316
14년 전 조회 5,189
14년 전 조회 1,200
14년 전 조회 1,341
14년 전 조회 2,007
14년 전 조회 1,141
14년 전 조회 930
14년 전 조회 1,332
14년 전 조회 2,614
14년 전 조회 2,062
14년 전 조회 1,900
14년 전 조회 3,396
14년 전 조회 2,438
14년 전 조회 1,385
14년 전 조회 1,429
14년 전 조회 1,410
14년 전 조회 1,538
14년 전 조회 989
14년 전 조회 1,294
14년 전 조회 1,429
14년 전 조회 3,028
14년 전 조회 1,314
14년 전 조회 1,052
14년 전 조회 1,050
14년 전 조회 3,390
14년 전 조회 1,171
14년 전 조회 1,889