KeyUp() public static method

public static KeyUp ( Keys, vKey ) : void
vKey Keys,
return void
示例#1
0
 public void SwitchToApp(int number)
 {
     try
     {
         KeyboardSend.KeyDown(Keys.LWin);
         KeyboardSend.KeyDown(NumToKey(number));
         KeyboardSend.KeyUp(Keys.LWin);
         KeyboardSend.KeyUp(NumToKey(number));
     }
     catch (ArgumentOutOfRangeException ex)
     {
         throw new ArgumentOutOfRangeException("AppSwitcher.SwitchToApp() method was invoked with invalid argument", ex);
     }
 }
示例#2
0
        public void typethis(string key, int key_status)
        {
            Keys mykey;

            mykey = (Keys)Enum.Parse(typeof(Keys), key, true);

            if (key_status == 1)
            {
                KeyboardSend.KeyDown(mykey);
            }
            else if (key_status == 2)
            {
                KeyboardSend.KeyUp(mykey);
            }
        }
示例#3
0
        public static void AcceptInstallation()
        {
            Browser.ShortPause();
            KeyboardSend.KeyDown(System.Windows.Forms.Keys.LWin);
            KeyboardSend.KeyDown(System.Windows.Forms.Keys.D6);
            KeyboardSend.KeyUp(System.Windows.Forms.Keys.LWin);
            KeyboardSend.KeyUp(System.Windows.Forms.Keys.D6);
            Browser.ShortPause();
            Thread.Sleep(15000);

            KeyboardSend.KeyDown(System.Windows.Forms.Keys.LWin);
            KeyboardSend.KeyDown(System.Windows.Forms.Keys.D6);
            KeyboardSend.KeyUp(System.Windows.Forms.Keys.LWin);
            KeyboardSend.KeyUp(System.Windows.Forms.Keys.D6);

            Browser.MiddlePause();
            SendKeys.SendWait("{TAB}");
            Browser.ShortPause();
            SendKeys.SendWait("{ENTER}");
            Browser.MiddlePause();
            Thread.Sleep(15000);
        }
示例#4
0
 private static void PressKey(Keys key)
 {
     KeyboardSend.KeyDown(key);
     Thread.Sleep(10);
     KeyboardSend.KeyUp(key);
 }
示例#5
0
        public void CycleInNewThread(int numOfIterations, int delay, TreeNode[] expressions)
        {
            for (int i = 0; i < numOfIterations; ++i)
            {
                foreach (FunctionTreeNode expression in expressions)
                {
                    switch (expression.Name)
                    {
                    case "LeftClick":
                        switch (expression.Parameters.Length)
                        {
                        case 0:
                            throw new ArgumentException($"Too few arguments in {expression.Name}");

                        case 1:
                            throw new ArgumentException($"Too few arguments in {expression.Name}");

                        case 2:
                            SetCursorPos(int.Parse(expression.Parameters[0].ToString()), int.Parse(expression.Parameters[1].ToString()));
                            mouse_event(MouseFlags.Absolute | MouseFlags.LeftDown, int.Parse(expression.Parameters[0].ToString()), int.Parse(expression.Parameters[1].ToString()), 0, UIntPtr.Zero);
                            mouse_event(MouseFlags.Absolute | MouseFlags.LeftUp, int.Parse(expression.Parameters[0].ToString()), int.Parse(expression.Parameters[1].ToString()), 0, UIntPtr.Zero);        // todo
                            break;

                        default:
                            throw new ArgumentException($"Too much arguments in {expression.Name}");
                        }
                        break;

                    case "RightClick":
                        switch (expression.Parameters.Length)
                        {
                        case 0:
                            throw new ArgumentException($"Too few arguments in {expression.Name}");

                        case 1:

                            break;

                        case 2:
                            SetCursorPos(int.Parse(expression.Parameters[0].ToString()), int.Parse(expression.Parameters[1].ToString()));
                            mouse_event(MouseFlags.Absolute | MouseFlags.RightDown, int.Parse(expression.Parameters[0].ToString()), int.Parse(expression.Parameters[1].ToString()), 0, UIntPtr.Zero);
                            mouse_event(MouseFlags.Absolute | MouseFlags.RightUp, int.Parse(expression.Parameters[0].ToString()), int.Parse(expression.Parameters[1].ToString()), 0, UIntPtr.Zero);        // todo
                            break;

                        default:
                            throw new ArgumentException($"Too much arguments in {expression.Name}");
                        }
                        break;

                    case "Start":
                        switch (expression.Parameters.Length)
                        {
                        case 0:
                            throw new ArgumentException($"Too few arguments in {expression.Name}");

                        case 1:
                            Process.Start(expression.Parameters[0].ToString());
                            break;

                        default:
                            throw new ArgumentException($"Too much arguments in {expression.Name}");
                        }
                        break;

                    case "MoveCursorTo":
                        switch (expression.Parameters.Length)
                        {
                        case 0:
                            throw new ArgumentException($"Too few arguments in {expression.Name}");

                        case 1:
                            throw new ArgumentException($"Too few arguments in {expression.Name}");

                        case 2:
                            SetCursorPos(int.Parse(expression.Parameters[0].ToString()), int.Parse(expression.Parameters[1].ToString()));
                            break;        //todo

                        default:
                            throw new ArgumentException($"Too much arguments in {expression.Name}");
                        }

                        break;

                    case "PressKey":
                        switch (expression.Parameters.Length)
                        {
                        case 0:
                            throw new ArgumentException($"Too few arguments in {expression.Name}");

                        case 1:
                            string key = expression.Parameters[0].ToString();
                            Regex  rg  = new Regex(" \" ");
                            string str = key.Trim('"');
                            int    ff  = (int)(Keys)k.ConvertFromString(str);
                            KeyboardSend.KeyDown((Keys)k.ConvertFromString(str));
                            KeyboardSend.KeyUp((Keys)k.ConvertFromString(str));

                            break;

                        default:
                            throw new ArgumentException($"Too much arguments in {expression.Name}");
                        }
                        break;
                    }
                }

                #if DEBUG
                frm.label1.Text += "f ";
                #endif

                Thread.Sleep(delay);//delay in cycle
            }
        }
示例#6
0
        public void CycleInNewThread(int numOfIterations, TreeNode[] expressions)
        {
            for (int i = 0; i < numOfIterations; ++i)
            {
                foreach (FunctionTreeNode expression in expressions)
                {
                    switch (expression.Name)
                    {
                    case "LeftClick":
                        switch (expression.Parameters.Length)
                        {
                        case 0:
                            throw new ArgumentException($"Too few arguments in {expression.Name}");

                        case 1:
                            throw new ArgumentException($"Too few arguments in {expression.Name}");

                        case 2:
                            SetCursorPos(int.Parse(expression.Parameters[0].ToString()), int.Parse(expression.Parameters[1].ToString()));
                            mouse_event(MouseFlags.Absolute | MouseFlags.LeftDown, int.Parse(expression.Parameters[0].ToString()), int.Parse(expression.Parameters[1].ToString()), 0, UIntPtr.Zero);
                            mouse_event(MouseFlags.Absolute | MouseFlags.LeftUp, int.Parse(expression.Parameters[0].ToString()), int.Parse(expression.Parameters[1].ToString()), 0, UIntPtr.Zero);        // todo
                            break;

                        default:
                            throw new ArgumentException($"Too much arguments in {expression.Name}");
                        }
                        break;

                    case "RightClick":
                        switch (expression.Parameters.Length)
                        {
                        case 0:
                            throw new ArgumentException($"Too few arguments in {expression.Name}");

                        case 1:
                            throw new ArgumentException($"Too few arguments in {expression.Name}");

                        case 2:
                            SetCursorPos(int.Parse(expression.Parameters[0].ToString()), int.Parse(expression.Parameters[1].ToString()));
                            mouse_event(MouseFlags.Absolute | MouseFlags.RightDown, int.Parse(expression.Parameters[0].ToString()), int.Parse(expression.Parameters[1].ToString()), 0, UIntPtr.Zero);
                            mouse_event(MouseFlags.Absolute | MouseFlags.RightUp, int.Parse(expression.Parameters[0].ToString()), int.Parse(expression.Parameters[1].ToString()), 0, UIntPtr.Zero);        // todo
                            break;

                        default:
                            throw new ArgumentException($"Too much arguments in {expression.Name}");
                        }
                        break;

                    case "Start":
                        switch (expression.Parameters.Length)
                        {
                        case 0:
                            throw new ArgumentException($"Too few arguments in {expression.Name}");

                        case 1:
                            Process.Start(expression.Parameters[0].ToString());
                            break;

                        default:
                            throw new ArgumentException($"Too much arguments in {expression.Name}");
                        }
                        break;

                    case "MoveCursorTo":
                        switch (expression.Parameters.Length)
                        {
                        case 0:
                            throw new ArgumentException($"Too few arguments in {expression.Name}");

                        case 1:
                            throw new ArgumentException($"Too few arguments in {expression.Name}");

                        case 2:
                            SetCursorPos(int.Parse(expression.Parameters[0].ToString()), int.Parse(expression.Parameters[1].ToString()));
                            break;        //todo

                        default:
                            throw new ArgumentException($"Too much arguments in {expression.Name}");
                        }

                        break;

                    case "PressKey":
                        switch (expression.Parameters.Length)
                        {
                        case 0:
                            throw new ArgumentException($"Too few arguments in {expression.Name}");

                        case 1:
                            string key = expression.Parameters[0].ToString();
                            KeyboardSend.KeyDown((Keys)k.ConvertFromString(key));
                            KeyboardSend.KeyUp((Keys)k.ConvertFromString(key));


                            break;

                        default:
                            throw new ArgumentException($"Too much arguments in {expression.Name}");
                        }
                        break;
                    }
                }
            }
        }
示例#7
0
        public void Execute(TreeNode node)
        {
            FunctionTreeNode Node;
            CycleTreeNode    cycleNode;

            SetStopRecordKey    += frm.SetStopRecordKey;
            SetStopPlaybackKey  += frm.SetStopPlaybackKey;
            SetStartPlaybackKey += frm.SetStartPlaybackKey;
            SetStartRecordKey   += frm.SetStartRecordKey;

            SetModifiedStopRecordKey    += frm.SetStopRecordKey;
            SetModifiedStopPlaybackKey  += frm.SetStopPlaybackKey;
            SetModifiedStartPlaybackKey += frm.SetStartPlaybackKey;
            SetModifiedStartRecordKey   += frm.SetStartRecordKey;

            if (node is FunctionTreeNode)
            {
                Node = (FunctionTreeNode)node;
                switch (Node.Name)
                {
                case "LeftClick":
                    switch (Node.Parameters.Length)
                    {
                    case 0:
                        throw new ArgumentException($"Too few arguments in {Node.Name}");

                    case 1:
                        throw new ArgumentException($"Too few arguments in {Node.Name}");

                    case 2:
                        SetCursorPos(int.Parse(Node.Parameters[0].ToString()), int.Parse(Node.Parameters[1].ToString()));
                        mouse_event(MouseFlags.Absolute | MouseFlags.LeftDown, int.Parse(Node.Parameters[0].ToString()), int.Parse(Node.Parameters[1].ToString()), 0, UIntPtr.Zero);
                        mouse_event(MouseFlags.Absolute | MouseFlags.LeftUp, int.Parse(Node.Parameters[0].ToString()), int.Parse(Node.Parameters[1].ToString()), 0, UIntPtr.Zero);        // todo
                        break;

                    default:
                        throw new ArgumentException($"Too much arguments in {Node.Name}");
                    }
                    break;

                case "RightClick":
                    switch (Node.Parameters.Length)
                    {
                    case 0:
                        throw new ArgumentException($"Too few arguments in {Node.Name}");

                    case 1:

                        break;

                    case 2:
                        SetCursorPos(int.Parse(Node.Parameters[0].ToString()), int.Parse(Node.Parameters[1].ToString()));
                        mouse_event(MouseFlags.Absolute | MouseFlags.RightDown, int.Parse(Node.Parameters[0].ToString()), int.Parse(Node.Parameters[1].ToString()), 0, UIntPtr.Zero);
                        mouse_event(MouseFlags.Absolute | MouseFlags.RightUp, int.Parse(Node.Parameters[0].ToString()), int.Parse(Node.Parameters[1].ToString()), 0, UIntPtr.Zero);        // todo
                        break;

                    default:
                        throw new ArgumentException($"Too much arguments in {Node.Name}");
                    }
                    break;

                case "Start":
                    switch (Node.Parameters.Length)
                    {
                    case 0:
                        throw new ArgumentException($"Too few arguments in {Node.Name}");

                    case 1:
                        Process.Start(Node.Parameters[0].ToString());
                        break;

                    default:
                        throw new ArgumentException($"Too much arguments in {Node.Name}");
                    }
                    break;

                case "MoveCursorTo":
                    switch (Node.Parameters.Length)
                    {
                    case 0:
                        throw new ArgumentException($"Too few arguments in {Node.Name}");

                    case 1:
                        throw new ArgumentException($"Too few arguments in {Node.Name}");

                    case 2:
                        SetCursorPos(int.Parse(Node.Parameters[0].ToString()), int.Parse(Node.Parameters[1].ToString()));
                        break;

                    default:
                        throw new ArgumentException($"Too much arguments in {Node.Name}");
                    }

                    break;

                case "PressKey":
                    switch (Node.Parameters.Length)
                    {
                    case 0:
                        throw new ArgumentException($"Too few arguments in {Node.Name}");

                    case 1:
                        string key = Node.Parameters[0].ToString();
                        Regex  rg  = new Regex(" \" ");
                        string str = key.Trim('"');
                        int    ff  = (int)(Keys)k.ConvertFromString(str);
                        KeyboardSend.KeyDown((Keys)k.ConvertFromString(str));
                        KeyboardSend.KeyUp((Keys)k.ConvertFromString(str));
                        break;

                    default:
                        throw new ArgumentException($"Too much arguments in {Node.Name}");
                    }
                    break;

                case "StartRecord":
                    switch (Node.Parameters.Length)
                    {
                    case 0:
                        throw new ArgumentException($"Too few arguments in {Node.Name}");

                    case 1:
                        Key = Node.Parameters[0].ToString();
                        key = reg.Replace(Key, "");
                        SetStartRecordKey((int)k.ConvertFromString(key));
                        break;

                    case 2:
                        Key  = Node.Parameters[0].ToString();
                        key  = reg.Replace(Key, "");
                        Key2 = Node.Parameters[1].ToString();
                        key2 = reg.Replace(Key2, "");
                        SetModifiedStartRecordKey((int)k.ConvertFromString(key), (int)k.ConvertFromString(key2));
                        break;
                    }
                    break;

                case "StopRecord":
                    switch (Node.Parameters.Length)
                    {
                    case 0:
                        throw new ArgumentException($"Too few arguments in {Node.Name}");

                    case 1:
                        Key = Node.Parameters[0].ToString();
                        key = reg.Replace(Key, "");
                        SetStopRecordKey((int)k.ConvertFromString(key));
                        break;

                    case 2:
                        Key  = Node.Parameters[0].ToString();
                        key  = reg.Replace(Key, "");
                        Key2 = Node.Parameters[1].ToString();
                        key2 = reg.Replace(Key2, "");
                        SetModifiedStopRecordKey((int)k.ConvertFromString(key), (int)k.ConvertFromString(key2));
                        break;
                    }
                    break;

                case "StartPlayback":
                    switch (Node.Parameters.Length)
                    {
                    case 0:
                        throw new ArgumentException($"Too few arguments in {Node.Name}");

                    case 1:
                        Key = Node.Parameters[0].ToString();
                        key = reg.Replace(Key, "");
                        SetStartPlaybackKey((int)k.ConvertFromString(key));
                        break;

                    case 2:
                        Key  = Node.Parameters[0].ToString();
                        key  = reg.Replace(Key, "");
                        Key2 = Node.Parameters[1].ToString();
                        key2 = reg.Replace(Key2, "");
                        SetModifiedStartPlaybackKey((int)k.ConvertFromString(key), (int)k.ConvertFromString(key2));
                        break;
                    }
                    break;

                case "StopPlayback":
                    switch (Node.Parameters.Length)
                    {
                    case 0:
                        throw new ArgumentException($"Too few arguments in {Node.Name}");

                    case 1:
                        Key = Node.Parameters[0].ToString();
                        key = reg.Replace(Key, "");
                        SetStopPlaybackKey((int)k.ConvertFromString(key));
                        break;

                    case 2:
                        Key  = Node.Parameters[0].ToString();
                        key  = reg.Replace(Key, "");
                        Key2 = Node.Parameters[1].ToString();
                        key2 = reg.Replace(Key2, "");
                        SetModifiedStopPlaybackKey((int)k.ConvertFromString(key), (int)k.ConvertFromString(key2));
                        break;
                    }
                    break;

                default:
                    throw new ArgumentException($"Undefined function \"{Node.Name}\"");
                }
            }
            else if (node is CycleTreeNode)
            {
                cycleNode = (node as CycleTreeNode);
                if (cycleNode.Name == "Repeat")
                {
                    try
                    {
                        switch (cycleNode.Arguments.Length)
                        {
                        case 0:
                            throw new ArgumentException($"Error: Too few arguments in Repeat cycle(must be 1 or 2)");

                        case 1:
                            new Thread(() =>
                            {
                                try
                                {
                                    CycleInNewThread(int.Parse(cycleNode.Arguments[0].ToString()), cycleNode.Expressions);
                                }
                                catch (ArgumentException exception)
                                {
                                    frm.richTextBox1.Text += $"{exception.Message}\n";
                                }
                            }).Start();
                            break;

                        case 2:
                            new Thread(() =>
                            {
                                try
                                {
                                    if (cycleNode.Expressions.Length == 0)
                                    {
                                    }
                                    else
                                    {
                                        CycleInNewThread(int.Parse(cycleNode.Arguments[0].ToString()), int.Parse(cycleNode.Arguments[1].ToString()), cycleNode.Expressions);
                                    }
                                }
                                catch (ArgumentException exception)
                                {
                                    frm.richTextBox1.Text += $"{exception.Message}\n";
                                }
                            }).Start();
                            break;

                        default:
                            throw new ArgumentException($"Error: Too much arguments in Repeat cycle(must be 1 or 2)");
                        }
                    }
                    catch (ArgumentException exception)
                    {
                        frm.richTextBox1.Text += exception.Message;
                    }
                }
                else
                {
                    throw new ArgumentException($"Error: Unknown cycle \"{cycleNode.Name}\"(Maybe, your mean \"Repeat\"?)");
                }
            }
        }
示例#8
0
        public void screen_mouse(String mouseinput)
        {
            if (mouseinput != null)
            {
                POINT    cursorpos = GetMousePos();
                string[] m_input   = mouseinput.Split(';');

                int x = int.Parse(m_input[0]);
                int y = int.Parse(m_input[1]);
                int click_operation = int.Parse(m_input[2]);
                int enter_key       = int.Parse(m_input[3]);

                if (enter_key == 1 || click_operation == 2)
                {
                    if ((x == -1 && y == -1))
                    {
                        x = -3; y = -3;
                    }
                }


                if (enter_key == 1)
                {
                    KeyboardSend.KeyDown(Keys.Enter);
                    KeyboardSend.KeyUp(Keys.Enter);
                }

                if (!(x == -1 && y == -1))
                {
                    if (x != -3)
                    {
                        cursorpos.X = (x * G_screenwidth) / 2000;
                        cursorpos.Y = (y * G_screenheight) / 2000;

                        if (cursorpos.X >= G_screenwidth)
                        {
                            cursorpos.X = G_screenwidth - 1;
                        }

                        if (cursorpos.Y >= G_screenheight)
                        {
                            cursorpos.Y = G_screenheight - 1;
                        }

                        if (cursorpos.X < 0)
                        {
                            cursorpos.X = 0;
                        }

                        if (cursorpos.Y < 0)
                        {
                            cursorpos.Y = 0;
                        }

                        SetCursorPos(cursorpos.X, cursorpos.Y);
                    }

                    if (click_operation == 2)
                    {
                        DoMouseClick((uint)cursorpos.X, (uint)cursorpos.Y, RIGHT_CLICK_DOWN);
                        DoMouseClick((uint)cursorpos.X, (uint)cursorpos.Y, RIGHT_CLICK_UP);
                    }
                    else
                    {
                        DoMouseClick((uint)cursorpos.X, (uint)cursorpos.Y, LEFT_SINGLE_CLICK);
                    }
                }
            }
        }