c#中执行adb命令

来源:互联网 发布:sql 多个 with as 编辑:程序博客网 时间:2024/05/18 01:21

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
原创粉丝点击