/// <summary>
        /// Enter input and then click ok button
        /// </summary>
        /// <param name="username">Username for dialog</param>
        /// <param name="password">Password for dialog</param>
        /// <returns></returns>
        public bool EnterInput(string username, string password)
        {
            //webbrowserhost is the parent for security dialog

            NativeWindowCalls.SetForegroundWindow(SecurityWindow);
            // #32770 for security dialog
            if (securityWindow != IntPtr.Zero)
            {
                // username field may not be as edit field ( If dialog is remembering the credentials, username is text field
                IntPtr usernameWndPtr = NativeWindowCalls.GetEmptyUsernameField(SecurityWindow);

                if (usernameWndPtr != IntPtr.Zero)
                {
                    string titleText = NativeWindowCalls.GetWindowText(usernameWndPtr);
                    NativeWindowCalls.SetFocus(usernameWndPtr);
                    NativeWindowCalls.SetText(usernameWndPtr, username);
                    titleText = NativeWindowCalls.GetWindowText(usernameWndPtr);
                    if (titleText != username)
                    {
                        return(false); // it did not enter
                    }
                }

                // Password field
                IntPtr childWndPtr = NativeWindowCalls.GetEmptyPasswordField(SecurityWindow);

                if (childWndPtr != IntPtr.Zero)
                {
                    NativeWindowCalls.SetFocus(childWndPtr);
                    NativeWindowCalls.SetText(childWndPtr, password);
                    // Verify to make sure it is set on this control
                    string passwordText = NativeWindowCalls.GetWindowText(childWndPtr);
                    if (passwordText == password)
                    {
                        // Ok button's classname in this dialog is "Button"
                        // there are many other buttons that are not visible to user in this dialog
                        IntPtr okBtn = NativeWindowCalls.GetChildWindowHwnd(SecurityWindow, "Button", "Ok");
                        return(this.ClickOkButton(okBtn));
                    }
                }
            }
            return(false);
        }
        private bool ClickOkButton(IntPtr hwnd)
        {
            // for debugging
            var info = new NativeWindowCalls.WINDOWINFO();

            info.cbSize = (uint)Marshal.SizeOf(info);
            NativeWindowCalls.GetWindowInfo(hwnd, ref info);
            string titleCheck = NativeWindowCalls.GetWindowText(hwnd);

            // verify
            if (hwnd != IntPtr.Zero)
            {
                // click ok
                NativeWindowCalls.SendMessage(hwnd, NativeWindowCalls.WmActivate, NativeWindowCalls.MaActivate, 0);
                NativeWindowCalls.SendMessage(hwnd, NativeWindowCalls.BtnClick, 0, 0);
                return(true);
            }

            return(false);
        }