Posted
Filed under C#
//IDownloadHandler 의 구현체를 만들어서  DownloadHandler 를 등록 해주면된다.
// 아래소스는 updated에서 다운로드되는 상황을 체크 할 수 있으며
// downloadItem.IsComplete 다운로드가 완료되었을 때 파일을 실행하도록 구현함
// 상황에 따라서 확장자에 맞게 처리 하면됨.

 chromebrowser.DownloadHandler = new DownloadHandler();
==========================================================
internal class DownloadHandler : IDownloadHandler
    {
        public object OnDownloadUpdatedFired { get; private set; }
        public void OnBeforeDownload(IWebBrowser chromiumWebBrowser, IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback callback)
        {
            if (!callback.IsDisposed) {
                using (callback) {
                    callback.Continue(@"C:\Users\" +
                             System.Security.Principal.WindowsIdentity.GetCurrent().Name +
                             @"\Downloads\" +
                             downloadItem.SuggestedFileName,
                         showDialog: true);
                }
            } 
            
        }
        public void OnDownloadUpdated(IWebBrowser chromiumWebBrowser, IBrowser browser, DownloadItem downloadItem, IDownloadItemCallback callback)
        {
            if (downloadItem.IsComplete)
            {
                if (@downloadItem.FullPath != "")
                {
                    Process.Start(@downloadItem.FullPath);
                }
            }
        }
    }
2020/04/13 15:18 2020/04/13 15:18