我正在重新创建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();
}
知道我可能做错了什么吗?预先感谢。
您正在传递每个CheckedItem的SelectedItems集合,而不是传递每个当前的选中项目。
而不是:
Process.Start(@"C:\RGDnamics\programfiles\program.exe", "run "+checkedListBox1.SelectedItems);
用途:
Process.Start(@"C:\RGDnamics\programfiles\program.exe", "run "+itemChecked.toString());