Пример #1
5
 public static string GetText(Point point) {
     var helperAutomation = new HelperAutomation();
     IntPtr windowFromPoint = helperAutomation.WindowFromPoint(point);
     return GetText(windowFromPoint);
 }
Пример #2
0
        public static string GetText(Point point)
        {
            var    helperAutomation = new HelperAutomation();
            IntPtr windowFromPoint  = helperAutomation.WindowFromPoint(point);

            return(GetText(windowFromPoint));
        }
Пример #3
0
        public static void SetText(Point point, string textToSet)
        {
            var    helperAutomation = new HelperAutomation();
            IntPtr windowFromPoint  = helperAutomation.WindowFromPoint(point);

            SetText(windowFromPoint, textToSet);
        }
Пример #4
0
 public static bool KillFocus(){
     var helperAutomation = new HelperAutomation();
     var focusControlHandle = helperAutomation.GetFocusControlHandle();
     Win32Declares.Message.SendMessage(focusControlHandle,
         Win32Constants.Focus.WM_KILLFOCUS, IntPtr.Zero, IntPtr.Zero);
     return helperAutomation.GetFocusControlHandle()!=focusControlHandle;
 }
Пример #5
0
        public static void SetText(string text)
        {
            var    automation         = new HelperAutomation();
            IntPtr focusControlHandle = automation.GetFocusControlHandle();

            SetText(focusControlHandle, text);
        }
Пример #6
0
 /// <summary>
 /// paste clipbard data
 /// </summary>
 /// <param name="mainWindowHandle">the widbow that contains the control in which the data is going to be pasted</param>
 public static void PasteFromClipBoard(IntPtr mainWindowHandle) {
     WindowAutomation.FocusWindow(mainWindowHandle);
     var helperAutomation = new HelperAutomation();
     IntPtr focusControlHandle = helperAutomation.GetFocusControlHandle();
     Win32Declares.Message.SendMessage(focusControlHandle, Win32Constants.Clipboard.WM_PASTE, IntPtr.Zero,
                                       IntPtr.Zero);
 }
Пример #7
0
        /// <summary>
        /// default timeout is 5000 millisec
        /// </summary>
        /// <param name="windowCaption"></param>
        /// <returns>0 if window not found</returns>
        public static IntPtr WaitForWindowToOpen(string windowCaption) {
            var helperAutomation = new HelperAutomation();

            if (findWindowsWithTimeout(helperAutomation, windowCaption)) {
                IntPtr findWindow = Win32Declares.WindowHandles.FindWindow(null, windowCaption);
                return findWindow;
            }
            return IntPtr.Zero;
        }
Пример #8
0
        /// <summary>
        /// paste clipbard data
        /// </summary>
        /// <param name="mainWindowHandle">the widbow that contains the control in which the data is going to be pasted</param>
        public static void PasteFromClipBoard(IntPtr mainWindowHandle)
        {
            WindowAutomation.ForceWindowToForeground(mainWindowHandle);
            var    helperAutomation   = new HelperAutomation();
            IntPtr focusControlHandle = helperAutomation.GetFocusControlHandle();

            Win32Declares.Message.SendMessage(focusControlHandle, Win32Constants.Clipboard.WM_PASTE, IntPtr.Zero,
                                              IntPtr.Zero);
        }
Пример #9
0
 private static bool findWindowsWithTimeoutHandler(HelperAutomation helperAutomation, string windowCaption)
 {
     while (true)
     {
         helperAutomation.FindAllWindows(null);
         if (helperAutomation.AllWindowCaptions.Contains(windowCaption))
         {
             return(true);
         }
     }
 }
Пример #10
0
        /// <summary>
        /// default timeout is 5000 millisec
        /// </summary>
        /// <param name="windowCaption"></param>
        /// <returns>0 if window not found</returns>
        public static IntPtr WaitForWindowToOpen(string windowCaption)
        {
            var helperAutomation = new HelperAutomation();

            if (findWindowsWithTimeout(helperAutomation, windowCaption))
            {
                IntPtr findWindow = Win32Declares.WindowHandles.FindWindow(null, windowCaption);
                return(findWindow);
            }
            return(IntPtr.Zero);
        }
Пример #11
0
 public static bool ForceWindowToForeground(IntPtr windowHandle){
     if (Win32Declares.WindowFocus.GetForegroundWindow() == windowHandle)
         return true;
     HelperAutomation.AttachedThreadInputAction(
         () => {
             
             Win32Declares.WindowFocus.BringWindowToTop(windowHandle);
             var showWindowEnum = Win32Declares.Window.IsIconic(windowHandle)? Win32Declares.Window.ShowWindowEnum.SW_RESTORE: Win32Declares.Window.ShowWindowEnum.SW_SHOW;
             Win32Declares.Window.ShowWindow(windowHandle, showWindowEnum);
         });
     return Win32Declares.WindowFocus.GetForegroundWindow() == windowHandle;
 }
Пример #12
0
        private static bool findWindowsWithTimeout(HelperAutomation helperAutomation, string windowCaption)
        {
            findWindowsWithTimeoutDelegate findWindowsWithTimeoutDelegate = findWindowsWithTimeoutHandler;
            IAsyncResult asyncResult = findWindowsWithTimeoutDelegate.BeginInvoke(helperAutomation, windowCaption, null,
                                                                                  null);

            if (!asyncResult.IsCompleted)
            {
                asyncResult.AsyncWaitHandle.WaitOne(5000, false);
            }
            return(asyncResult.IsCompleted ? findWindowsWithTimeoutDelegate.EndInvoke(asyncResult) : false);
        }
Пример #13
0
 /// <summary>
 /// default timeout is 5000 millisec
 /// </summary>
 /// <param name="text"></param>
 /// <param name="windowPosition"></param>
 /// <returns></returns>
 public static bool WaitForWindowToHaveText(string text, Point windowPosition) {
     IntPtr intPtr = new HelperAutomation().WindowFromPoint(windowPosition);
     return WaitForWindowToHaveText(text, intPtr, false);
 }
        private void ExecuteAdditionalCommands(ICommandAdapter adapter) {
            _additionalCommands = this.ParameterValue("AdditionalCommands", true);
            if (!_additionalCommands)
                return;
            if (this.ParameterValue("ToggleNavigation", true)) {
                ToggleNavigation(adapter);
            }

            var activeWindowSize = this.ParameterValue("ActiveWindowSize", _defaultWindowSize);
            var activeWindowSizeCommand = new ResizeWindowCommand();
            activeWindowSizeCommand.Parameters.MainParameter = new MainParameter(String.Format("{0}x{1}", activeWindowSize.Width, activeWindowSize.Height));
            activeWindowSizeCommand.Execute(adapter);

            if (this.ParameterValue(HideCursorCommand.Name, true)) {
                var hideCaretCommand = new HideCursorCommand();
                hideCaretCommand.Execute(adapter);
            }

            if (this.ParameterValue(KillFocusCommand.Name, true)) {
                var helperAutomation = new HelperAutomation();
                Win32Declares.Message.SendMessage(helperAutomation.GetFocusControlHandle(), Win32Declares.Message.EM_SETSEL, -1, 0);
                var hideCaretCommand = new KillFocusCommand();
                hideCaretCommand.Execute(adapter);
            }

            var sendKeys = this.ParameterValue<string>("SendKeys");
            if (!string.IsNullOrEmpty(sendKeys)) {
                var sendKeysCommand = new SendKeysCommand();
                sendKeysCommand.Parameters.MainParameter = new MainParameter(sendKeys);
                sendKeysCommand.Execute(adapter);
            }

            Wait(adapter, 1000);
        }
Пример #15
0
 public static void SetReadOnly(){
     var helperAutomation = new HelperAutomation();
     SetReadOnly(helperAutomation.GetFocusControlHandle());
 }
Пример #16
0
 private static bool findWindowsWithTimeoutHandler(HelperAutomation helperAutomation, string windowCaption) {
     while (true) {
         helperAutomation.FindAllWindows(null);
         if (helperAutomation.AllWindowCaptions.Contains(windowCaption))
             return true;
     }
 }
Пример #17
0
 /// <summary>
 /// finds the focused control and sets its text
 /// </summary>
 /// <param name="text"></param>
 public static void SetText(string text) {
     var automation = new HelperAutomation();
     IntPtr focusControlHandle = automation.GetFocusControlHandle();
     SetText(focusControlHandle, text);
 }
Пример #18
0
 private static bool findWindowsWithTimeout(HelperAutomation helperAutomation, string windowCaption) {
     findWindowsWithTimeoutDelegate findWindowsWithTimeoutDelegate = findWindowsWithTimeoutHandler;
     IAsyncResult asyncResult = findWindowsWithTimeoutDelegate.BeginInvoke(helperAutomation, windowCaption, null,
                                                                           null);
     if (!asyncResult.IsCompleted)
         asyncResult.AsyncWaitHandle.WaitOne(-1, false);
     return asyncResult.IsCompleted && findWindowsWithTimeoutDelegate.EndInvoke(asyncResult);
 }
Пример #19
0
        /// <summary>
        /// default timeout is 5000 millisec
        /// </summary>
        /// <param name="text"></param>
        /// <param name="windowPosition"></param>
        /// <returns></returns>
        public static bool WaitForWindowToHaveText(string text, Point windowPosition)
        {
            IntPtr intPtr = new HelperAutomation().WindowFromPoint(windowPosition);

            return(WaitForWindowToHaveText(text, intPtr, false));
        }
Пример #20
-2
 public static void SetText(Point point, string textToSet) {
     var helperAutomation = new HelperAutomation();
     IntPtr windowFromPoint = helperAutomation.WindowFromPoint(point);
     SetText(windowFromPoint, textToSet);
 }