예제 #1
0
        public void Test001_ls_Win7_Calc()
        {
            Process calc = bringupApp(path_win7_calc);

            /* create an input "ls_l" and execute it */
            Sinter sinter_ls_req = new Sinter
            {
                HeaderNode  = MsgUtil.BuildHeader(scraper.serviceCodes["ls_req"]),
                EntityNodes = null,
            };

            cmdhlr.CommandExecSinter(sinter_ls_req);

            /* get ls_res */
            Sinter sinter_ls_res = conn.GetSinterFromFile(conn.filepath);

            /* parse ls_res and find calculator */
            string calcProcess = null;

            foreach (Entity proc in sinter_ls_res.EntityNodes)
            {
                Console.WriteLine(proc.Name + " " + proc.Process);
                if (proc.Name.IndexOf("calc", StringComparison.OrdinalIgnoreCase) >= 0)
                {
                    calcProcess = proc.Process;
                    break;
                }
            }
            Assert.IsTrue(calcProcess != null); //to check if calc is in the "ls_res" result.
            killProcess(calc);
        }
예제 #2
0
        private void Control_Click(object sender, EventArgs e)
        {
            if (isSent)
            {
                return;
            }

            Button button = (Button)sender;
            Entity entity = (Entity)button.Tag;

            if (entity == null)
            {
                return;
            }

            Point center = GetCenter(entity);

            Sinter sinter = new Sinter
            {
                HeaderNode = MsgUtil.BuildHeader(
                    serviceCodes["mouse"],
                    serviceCodes["mouse_click_left"],
                    "",
                    "0",
                    center.X.ToString(),
                    center.Y.ToString()
                    ),
            };

            Console.WriteLine(sinter.HeaderNode.ParamsInfo.ToString());
            execute_mouse(sinter);

            isSent        = true;
            timer.Enabled = true;
        }
예제 #3
0
        public void execute_ls_l_req(Sinter _)
        {
            Sinter sinter = new Sinter()
            {
                HeaderNode = MsgUtil.BuildHeader(serviceCodes["ls_l_req"]),
            };

            connection.SendMessage(sinter);
        }
예제 #4
0
        public void ProcessKeyPress(string keypresses)
        {
            Sinter sinter = new Sinter {
                HeaderNode = MsgUtil.BuildHeader(serviceCodes["kbd"]),
            };

            sinter.HeaderNode.ParamsInfo = new Params()
            {
                TargetId = "",
                Data1    = keypresses,
            };

            execute_kbd(sinter);
        }
예제 #5
0
        public void Test102_ls_l_WordPad()
        {
            Process calc = bringupApp(path_wordpad);

            /* create an input "ls_l_req" and execute it */
            Sinter sinter_ls_l_req = new Sinter
            {
                HeaderNode  = MsgUtil.BuildHeader(scraper.serviceCodes["ls_l_req"]),
                EntityNodes = null,
            };

            sinter_ls_l_req.HeaderNode.Process = calc.Id.ToString();

            cmdhlr.CommandExecSinter(sinter_ls_l_req);
            killProcess(calc);
        }
예제 #6
0
        public void Test002_ls_l_Win7_Calc_Standard()
        {
            const string keyName = "HKEY_CURRENT_USER\\Software\\Microsoft\\Calc";

            Registry.SetValue(keyName, "layout", 1); //switch to Standard mode
            Process calc = bringupApp(path_win7_calc);

            /* create an input "ls_l_req" and execute it */
            Sinter sinter_ls_l_req = new Sinter
            {
                HeaderNode  = MsgUtil.BuildHeader(scraper.serviceCodes["ls_l_req"]),
                EntityNodes = null,
            };

            sinter_ls_l_req.HeaderNode.Process = calc.Id.ToString();

            cmdhlr.CommandExecSinter(sinter_ls_l_req);
            killProcess(calc);
        }