Exemple #1
0
        public void Type(string textToType)
        {
            SystemWindow systemWindow = SystemWindow.AllOpenSystemWindows[SystemWindow.AllOpenSystemWindows.Count - 1];

            // Setup reset event to block until input received
            var resetEvent = new AutoResetEvent(false);

            UiThread.RunOnIdle(() =>
            {
                switch (textToType)
                {
                case "{Enter}":
                    systemWindow.OnKeyDown(new KeyEventArgs(Keys.Enter));
                    systemWindow.OnKeyUp(new KeyEventArgs(Keys.Enter));
                    break;

                case "^a":
                    SendKey(Keys.Control | Keys.A, 'A', systemWindow);
                    break;

                case "{BACKSPACE}":
                    systemWindow.OnKeyPress(new KeyPressEventArgs('\b'));
                    break;

                default:
                    foreach (char character in textToType)
                    {
                        systemWindow.OnKeyPress(new KeyPressEventArgs(character));
                    }
                    break;
                }

                resetEvent.Set();
            });

            resetEvent.WaitOne();
        }
Exemple #2
0
        public override void Type(string textToType)
        {
            SystemWindow systemWindow = SystemWindow.AllOpenSystemWindows[SystemWindow.AllOpenSystemWindows.Count - 1];

            foreach (char character in textToType)
            {
                //UiThread.RunOnIdle(() => systemWindow.OnKeyDown(aggKeyEvent));
                //Keyboard.SetKeyDownState(aggKeyEvent.KeyCode, true);

                KeyPressEventArgs aggKeyPressEvent = new KeyPressEventArgs(character);
                UiThread.RunOnIdle(() => systemWindow.OnKeyPress(aggKeyPressEvent));

                //widgetToSendTo.OnKeyUp(aggKeyEvent);
                //Keyboard.SetKeyDownState(aggKeyEvent.KeyCode, false);
            }
        }