Example #1
0
        public void CreateShortcut(IWebBrowser browser)
        {
            var title = GetWebBrowserTitle(browser);

            foreach (var item in "\\/:*?\"<>|.")
            {
                title = title.Replace(item, '_');
            }

            var sfd = new Microsoft.Win32.SaveFileDialog()
            {
                FileName = title,
                Filter   = $"{LanguageManager.GetString("filter_shortcut")}|*.lnk",
            };

            if (sfd.ShowDialog() == true)
            {
                var path     = GetType().Assembly.Location;
                var arg      = browser.Address;
                var fileName = sfd.FileName;

                try
                {
                    WshShortcut shortcut = new WshShell().CreateShortcut(fileName);
                    shortcut.TargetPath = path;
                    shortcut.Arguments  = arg;
                    shortcut.Save();
                }
                catch (Exception e)
                {
                    JsAlertDialog.ShowDialog(e.Message);
                }
            }
        }
Example #2
0
        private void FlashBrowserIsBrowserInitializedChanged(object sender, EventArgs e)
        {
            if (IsBrowserInitialized)
            {
                Cef.UIThreadTaskFactory.StartNew(() =>
                {
                    var requestContext = GetBrowser().GetHost().RequestContext;
                    var flag           = requestContext.SetPreference("profile.default_content_setting_values.plugins", 1, out string err);

                    if (!flag)
                    {
                        var title = LanguageManager.GetString("title_error");
                        JsAlertDialog.ShowDialog(err, title);
                    }
                });
            }
        }
        public bool OnJSDialog(IWebBrowser chromiumWebBrowser, IBrowser browser, string originUrl, CefJsDialogType dialogType, string messageText, string defaultPromptText, IJsDialogCallback callback, ref bool suppressMessage)
        {
            var targetBrowser = (ChromiumWebBrowser)chromiumWebBrowser;

            switch (dialogType)
            {
            case CefJsDialogType.Alert:
            {
                wfChromiumWebBrowser.Dispatcher.Invoke(() =>
                    {
                        JsAlertDialog.ShowDialog(messageText, wfChromiumWebBrowser.Title);
                    });
                suppressMessage = true;
                return(false);
            }

            case CefJsDialogType.Confirm:
            {
                wfChromiumWebBrowser.Dispatcher.Invoke(() =>
                    {
                        JsConfirmDialog.ShowDialog(messageText, wfChromiumWebBrowser.Title, result =>
                        {
                            callback.Continue(result == true);
                        });
                    });
                suppressMessage = false;
                return(true);
            }

            case CefJsDialogType.Prompt:
            {
                wfChromiumWebBrowser.Dispatcher.Invoke(() =>
                    {
                        JsPromptDialog.ShowDialog(messageText, wfChromiumWebBrowser.Title, defaultPromptText, result =>
                        {
                            callback.Continue(result != null, result);
                        });
                    });
                suppressMessage = false;
                return(true);
            }
            }
            return(false);
        }
        private void OpenUrl(string url)
        {
            if (string.IsNullOrWhiteSpace(url))
            {
                JsAlertDialog.ShowDialog(LanguageManager.GetString("message_emptyUrl"));
                return;
            }

            url = url.Trim();

            if (UrlChecker.IsLocalSwfFile(url))
            {
                SwfPlayerWindow.Show(url);
                return;
            }

            switch (GlobalData.Settings.NavigationType)
            {
            case NavigationType.Automatic:
            {
                if (!UrlChecker.IsHttpUrl(url))
                {
                    url = SearchEngineUtil.GetUrl(url, GlobalData.Settings.SearchEngine);
                }
            }
            break;

            case NavigationType.SearchOnly:
            {
                url = SearchEngineUtil.GetUrl(url, GlobalData.Settings.SearchEngine);
            }
            break;

            case NavigationType.NavigateOnly:
            {
                //nothing to do
            }
            break;
            }

            BrowserWindow.Show(url);
        }