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,351
14년 전 조회 1,097
14년 전 조회 729
14년 전 조회 1,199
14년 전 조회 1,178
14년 전 조회 1,053
14년 전 조회 611
14년 전 조회 590
14년 전 조회 937
14년 전 조회 500
14년 전 조회 3,067
14년 전 조회 583
14년 전 조회 944
14년 전 조회 594
14년 전 조회 626
14년 전 조회 1,860
14년 전 조회 911
14년 전 조회 1,393
14년 전 조회 651
14년 전 조회 1,284
14년 전 조회 1,762
14년 전 조회 807
14년 전 조회 1,322
14년 전 조회 820
14년 전 조회 1,184
14년 전 조회 2,609
14년 전 조회 667
14년 전 조회 4,792
14년 전 조회 678
14년 전 조회 863
14년 전 조회 712
14년 전 조회 3,403
14년 전 조회 513
14년 전 조회 846
14년 전 조회 1,142
14년 전 조회 1,140
14년 전 조회 632
14년 전 조회 1,237
14년 전 조회 717
14년 전 조회 608
14년 전 조회 2,259
14년 전 조회 957
14년 전 조회 585
14년 전 조회 583
14년 전 조회 1,614
14년 전 조회 765
14년 전 조회 1,168
14년 전 조회 1,159
14년 전 조회 1,766
14년 전 조회 1,842
14년 전 조회 1,112
14년 전 조회 775
14년 전 조회 709
14년 전 조회 954
14년 전 조회 1,112
14년 전 조회 2,522
14년 전 조회 584
14년 전 조회 902
14년 전 조회 1,063
14년 전 조회 1,434
14년 전 조회 627
14년 전 조회 537
14년 전 조회 1,251
14년 전 조회 1,591
14년 전 조회 1,663
14년 전 조회 832
14년 전 조회 648
14년 전 조회 1,800
14년 전 조회 872
14년 전 조회 1,246
14년 전 조회 696
14년 전 조회 752
14년 전 조회 740
14년 전 조회 836
14년 전 조회 4,638
14년 전 조회 746
14년 전 조회 867
14년 전 조회 1,523
14년 전 조회 689
14년 전 조회 483
14년 전 조회 859
14년 전 조회 2,130
14년 전 조회 1,597
14년 전 조회 1,421
14년 전 조회 2,849
14년 전 조회 1,963
14년 전 조회 915
14년 전 조회 988
14년 전 조회 939
14년 전 조회 1,040
14년 전 조회 531
14년 전 조회 837
14년 전 조회 989
14년 전 조회 2,534
14년 전 조회 848
14년 전 조회 582
14년 전 조회 601
14년 전 조회 2,950
14년 전 조회 734
14년 전 조회 1,448
🐛 버그신고