0

我尝试开发 c# 应用程序以使用 adb shell 将 apk 安装到 android 手机,但我都是初学者。我无法向 cmd 发送命令。

   void getDevices()
    {
        Process p = new Process();
        ProcessStartInfo startInfo = new ProcessStartInfo(@"cmd.exe");

        p = Process.Start(startInfo);

        p.StandardInput.WriteLine(@"cd " + @"C:\Users\user\Desktop\adb\");
       // String output  = p.StandardOutput.ReadToEnd();





    }
4

1 回答 1

1

有三个选项:

  1. 启动时将命令传递给cmd.exe
  2. cmd.exe启动后发送命令
  3. 编写批处理文件或 PowerShell 脚本

启动时将命令传递给cmd.exe

要将命令传递给cmd.exe您,可以使用 的-k-c参数cmd.exe

例如,这将启动cmd.exe,显示登录用户,然后终止cmd.exe进程:

cmd.exe /c "whoami"

查看此页面或 Google 以获取更多示例。

cmd.exe启动后发送命令

另一种方法是先启动cmd.exe,然后再向它发送命令。关于这个问题已经有很多问题了,但通常似乎有两种方法:

  1. 一次发送一个键,例如如何将按键发送到正在运行的进程对象?
  2. 将数据发送到进程的输入缓冲区,例如.NET:Inject Data into Input-Buffer of Process

我不确定他们是否会与cmd.exe.

编写批处理文件或 PowerShell 脚本

更常见的自动化方法cmd.exe是编写批处理文件或 PowerShell 脚本。您可能还需要考虑这些选项。

于 2013-10-26T11:17:35.977 回答