c#开发中执行adb命令

来源:互联网 发布:电脑时光秘书软件 编辑:程序博客网 时间:2024/05/21 05:39

private void Form1_Load(object sender, EventArgs e)
        {
            String cmd = Application.StartupPath + "\\adb\\adb.exe";
            //ProcessStartInfo psi = null;
            //psi = new ProcessStartInfo(cmd, "devices");
            //Process p = Process.Start(psi);
            Process p = new Process();
            p.StartInfo.FileName = cmd;           //设定程序名   
            p.StartInfo.Arguments = "devices";    //设定程式执行參數   
            p.StartInfo.UseShellExecute = false;        //关闭Shell的使用   
            p.StartInfo.RedirectStandardInput = true;   //重定向标准输入   
            p.StartInfo.RedirectStandardOutput = true;  //重定向标准输出   
            p.StartInfo.RedirectStandardError = true;   //重定向错误输出   
            p.StartInfo.CreateNoWindow = true;          //设置不显示窗口   
            p.Start();
            this.label1.Text = p.StandardOutput.ReadToEnd();

            p.Close();
        }

 

 

System.Diagnostics.Process p = new System.Diagnostics.Process();

            p.StartInfo = new System.Diagnostics.ProcessStartInfo();
            p.StartInfo.FileName = strFile;
            p.StartInfo.Arguments = args;
            p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.CreateNoWindow = true;
            p.Start();
            System.IO.StreamReader reader = p.StandardOutput;//截取输出流
            string line = reader.ReadLine();//每次读取一行
            while (!reader.EndOfStream)
               {
                onReadLine(line);
                line = reader.ReadLine();
            
            p.WaitForExit();//等待程序执行完退出进程
            p.Close();//关闭进程
            reader.Close();//关闭流
 
 
private void ListFolderInfos(TreeListNode node,string folderpath)
        {
                Process p = new Process();
                p.StartInfo.FileName = adb;           //设定程序名   
                p.StartInfo.Arguments = "shell ls " + folderpath; //ls命令  foldername:"storage/sdcard0"
                p.StartInfo.UseShellExecute = false;        //关闭Shell的使用   
                p.StartInfo.RedirectStandardInput = true;   //重定向标准输入   
                p.StartInfo.RedirectStandardOutput = true;  //重定向标准输出   
                p.StartInfo.RedirectStandardError = true;   //重定向错误输出   
                p.StartInfo.CreateNoWindow = true;          //设置不显示窗口   
                p.Start();
                
                StreamReader reader = p.StandardOutput;
                string line = reader.ReadLine();
                while (!reader.EndOfStream)
                {
                    //if (line.Contains("storage/sdcard"))
                    //{
                    //    return;
                    //}
                    if (line.Length > 0)
                    {
                        TreeListNode node1 = this.tlFolders.AppendNode(new object[] { line }, node);
                        //ListFolderInfos(node1, folderpath + "/" + node1.GetDisplayText(0));
                    }
                    line = reader.ReadLine();
                }
                p.WaitForExit();
                reader.Close();
                p.Close();
           
        }
0 0
原创粉丝点击