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); } }
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); } }
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); }
private static void PressKey(Keys key) { KeyboardSend.KeyDown(key); Thread.Sleep(10); KeyboardSend.KeyUp(key); }
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 } }
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; } } } }
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\"?)"); } } }
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); } } } }