示例#1
0
        private void browser_IsBrowserInitializedChanged(object sender, IsBrowserInitializedChangedEventArgs e)
        {
            if (e.IsBrowserInitialized)
            {
                Initialized?.Invoke(this, EventArgs.Empty);

                int identifier = browser.GetBrowser().Identifier;
                Disposed += (sender2, args2) => BrowserProcesses.Forget(identifier);
            }
        }
示例#2
0
        protected override void WndProc(ref Message m)
        {
            if (isLoaded)
            {
                if (m.Msg == Program.WindowRestoreMessage)
                {
                    if (WindowsUtils.CurrentProcessID == m.WParam.ToInt32())
                    {
                        trayIcon_ClickRestore(trayIcon, EventArgs.Empty);
                    }

                    return;
                }
                else if (m.Msg == Program.SubProcessMessage)
                {
                    int processId = m.WParam.ToInt32();

                    if (WindowsUtils.IsChildProcess(processId))  // child process is checked in two places for safety
                    {
                        BrowserProcesses.Link(m.LParam.ToInt32(), processId);
                    }

                    return;
                }
            }

            if (browser.Ready && m.Msg == NativeMethods.WM_PARENTNOTIFY && (m.WParam.ToInt32() & 0xFFFF) == NativeMethods.WM_XBUTTONDOWN)
            {
                if (videoPlayer != null && videoPlayer.Running)
                {
                    videoPlayer.Close();
                }
                else
                {
                    browser.OnMouseClickExtra(m.WParam);
                    TriggerAnalyticsEvent(AnalyticsFile.Event.BrowserExtraMouseButton);
                }

                return;
            }

            base.WndProc(ref m);
        }
示例#3
0
        public static void AfterFeature()
        {
            try
            {
                driver.Quit();
                driver.Dispose();
                Process.GetProcessesByName("chromedriver").ToList().ForEach(p => p.Kill());

                driver.Quit();
                BrowserProcesses.Kill("chrome");

                Process[] chromeInstances = Process.GetProcessesByName("chrome");

                CloseBrowsers(driver);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                CloseBrowsers(driver);
            }
        }