예제 #1
0
        /// <summary>
        /// 加载设备支持的dumpsys类型
        /// </summary>
        private void loadDeviceDumpsysItems()
        {
            string   cmd = "shell dumpsys -l";
            TaskInfo t   = new TaskInfo(TaskType.ExecuteCommand);

            t.Data           = cmd;
            t.ResultHandler += new TaskInfo.EventResultHandler(loadDumpsysItemsResult);
            taskThread.SendTask(t);
        }
예제 #2
0
        /// <summary>
        /// 得到指定路径下面的文件
        /// </summary>
        /// <param name="path"></param>
        /// <returns></returns>
        private void getNodeList(string path, bool includeHideFile, TaskInfo.EventResultHandler handler)
        {
            if (!path.EndsWith("/"))
            {
                path += "/";
            }
            string   cmd = string.Format("shell ls -{0}l {1}", includeHideFile ? "a" : "", path);
            TaskInfo t   = TaskInfo.Create(TaskType.ExecuteCommand, cmd);

            t.Tag           = path;
            t.ResultHandler = handler;
            taskThread.SendTask(t);
        }
예제 #3
0
        /// <summary>
        /// 获取设备信息
        /// </summary>
        /// <param name="sn"></param>
        private void loadDeivceInfo(string sn)
        {
            TaskInfo task = new TaskInfo(TaskType.CurrentDeviceInfo);

            task.Data          = sn;
            task.ResultHandler = new TaskInfo.EventResultHandler(loadDeivceInfoResult);
            taskThread.SendTask(task);
        }
예제 #4
0
        /// <summary>
        /// 设置系统时间
        /// </summary>
        /// <param name="datetime"></param>
        private void setSystemDatetime(string datetime)
        {
            string   cmd  = "shell date -s \"" + datetime + "\"";
            TaskInfo task = TaskInfo.Create(TaskType.ExecuteCommand, cmd);

            task.ResultHandler = new TaskInfo.EventResultHandler(setSystemDatetimeResult);
            taskThread.SendTask(task);
        }
예제 #5
0
        /// <summary>
        /// 读取系统属性
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonReadSystemProp_Click(object sender, EventArgs e)
        {
            TaskInfo t = new TaskInfo(TaskType.ExecuteCommand);

            t.Data          = "shell getprop";
            t.ResultHandler = new TaskInfo.EventResultHandler(readSystemPropResult);
            taskThread.SendTask(t);
        }
예제 #6
0
        /// <summary>
        /// 启动adb
        /// </summary>
        private void startAdb()
        {
            TaskInfo t = TaskInfo.Create(TaskType.ExecuteCommand, "start-server");

            t.Args = 1;
            taskThread.SendTask(t);
        }
예제 #7
0
        private void buttonRefresh_Click(object sender, EventArgs e)
        {
            this.screenShotPath = ScreenData.GetScreemShotPath();
            File.Delete(this.screenShotPath);
            TaskInfo t = TaskInfo.Create(TaskType.ScreenShot, this.screenShotPath);

            t.ResultHandler = new TaskInfo.EventResultHandler(getScreenShotResult);
            taskThread.SendTask(t);
        }
예제 #8
0
        /// <summary>
        /// 更新显示包名和信息
        /// </summary>
        /// <param name="package"></param>
        public void UpdatePackageInfo(string package)
        {
            if (!string.IsNullOrEmpty(package))
            {
                this.Text = package;
            }
            string   cmd   = "shell dumpsys package " + package;
            TaskInfo tSize = TaskInfo.Create(TaskType.ExecuteCommand, cmd);

            tSize.ResultHandler = new TaskInfo.EventResultHandler(updatePackageInfoResult);
            taskThread.SendTask(tSize);
        }
예제 #9
0
        /// <summary>
        /// 间隔时间发生
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void updateMeminfo()
        {
            int    index    = this.comboBoxInterval.SelectedIndex;
            int    interval = INTERVAL[index] * 1000;
            string cmd      = "shell dumpsys meminfo " + this.textBoxFilter.Text.Trim();

            while (true)
            {
                TaskInfo tSize = TaskInfo.Create(TaskType.ExecuteCommand, cmd);
                tSize.ResultHandler = new TaskInfo.EventResultHandler(updateMeminfoResult);
                taskThread.SendTask(tSize);
                Thread.Sleep(interval);
            }
        }
예제 #10
0
 /// <summary>
 /// 开始录制
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void buttonStartRecord_Click(object sender, EventArgs e)
 {
     this.buttonStartRecord.Enabled = false;
     this.buttonStopRecord.Enabled = true;
     TaskInfo t = new TaskInfo(TaskType.ScreenRecord);
     currentRecordPath = GetScreemRecordPath() + DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss") + ".mp4";
     t.Data = currentRecordPath; //存储路径
     string size = "";
     if (this.comboBoxSize.SelectedIndex > 0)
     {
         size = this.comboBoxSize.SelectedItem.ToString();
     }
     t.DataArray = new object[] { size, getTimeLimit() };
     t.ResultHandler = new TaskInfo.EventResultHandler(recordResult);
     taskThread.SendTask(t);
 }
예제 #11
0
        /// <summary>
        /// 多线程获取屏幕信息
        /// </summary>
        private void getScreenInfo()
        {
            TaskInfo tSize = TaskInfo.Create(TaskType.ScreenSizeDensity, new object[] { ScreenData.Action.GetSize.ToString() });

            tSize.ResultHandler = new TaskInfo.EventResultHandler(getScreenSizeResult);
            taskThread.SendTask(tSize);

            TaskInfo tDensity = TaskInfo.Create(TaskType.ScreenSizeDensity, new object[] { ScreenData.Action.GetDensity.ToString() });

            tDensity.ResultHandler = new TaskInfo.EventResultHandler(getScreenDensityResult);
            taskThread.SendTask(tDensity);
        }
예제 #12
0
        private void button_Click(object sender, EventArgs e)
        {
            int data = -1;

            try
            {
                data = Convert.ToInt32(((Button)sender).Tag);
            }
            catch
            {
            }
            if (data > -1)
            {
                TaskInfo task = new TaskInfo(TaskType.SendKey);
                task.Data = data;
                taskThread.SendTask(task);
            }
        }
예제 #13
0
        private void buttonStartAction_Click(object sender, EventArgs e)
        {
            string action = "-a " + this.comboBoxAction.SelectedItem.ToString();

            taskThread.SendTask(TaskInfo.Create(TaskType.StartAM, action));
        }