CheckedListBox检查项目以运行CMD进程并将CMD输出打印到应用程序中

问题描述 投票:0回答:1

我正在重新创建Windows-Android Apk安装程序(出于我自己的使用和教育目的)这是Windows窗体应用程序,其功能将是:在我的Android设备上安装,刷新和控制某些内容。

应用程序包含多个复选框,分别代表文件“从具有扩展过滤范围的文件夹中填充”。这些项目(批处理文件)应该运行命令提示符,并且CMD输出应该检索到应用程序文本框中。

[当在CheckedListBox中检查了几项(或全部选中)时;我需要该应用程序才能使用CMD运行所有选定的批次。

或用于安装应用程序:即:“ adb安装〜\我的apk文件夹的路径\ checkedliastbox1.filename.apk”

这些是我要使用的代码; 无法正常工作,当然。这两个代码中发生的事情是,它将同时打开几个cmd窗口,并且没有将checkedListbox1.selectedItems放入命令提示符。换句话说,只显示adb帮助。

代码1

            private void btn_Install_Click(object sender, EventArgs e)
    {
        foreach (object itemChecked in checkedListBox1.CheckedItems)
        {
            Process.Start(@"C:\myfolder\programfiles\program.exe", "run " + checkedListBox1.SelectedItems);
        }
    }

代码2

        private void btn_install_Click(object sender, EventArgs e)
    {
        foreach (object itemChecked in checkedListBox1.CheckedItems)
        {
            p.StartInfo.FileName = @"C:\RGDnamics\Android\adb\adb.exe";
            p.StartInfo.UseShellExecute = true;
            p.StartInfo.CreateNoWindow = false;
            p.StartInfo.Arguments = "install C:\\myFolder\\Android\\Backups\\Apk\\myapks\\" + itemChecked.ToString();
            p.Start();
            p.WaitForExit();
        }

知道我可能做错了什么吗?预先感谢。

android redirect cmd checkedlistbox
1个回答
0
投票

您正在传递每个CheckedItem的SelectedItems集合,而不是传递每个当前的选中项目。

而不是:

Process.Start(@"C:\RGDnamics\programfiles\program.exe", "run "+checkedListBox1.SelectedItems);

用途:

Process.Start(@"C:\RGDnamics\programfiles\program.exe", "run "+itemChecked.toString());
© www.soinside.com 2019 - 2024. All rights reserved.