Я пытаюсь запустить скрытую командную строку при запросе списка wmic qfe, содержащего мои установленные статьи базы знаний.
Я запускаю команду "wmic qfe list full" из моей командной строки, и я получаю список.
Когда я делаю это из моего приложения на C #, чтобы остановить выполнение моего процесса из cmd.Exe после завершения команды, я использую ключ / c в качестве аргумента. Однако, поскольку я добавил этот ключ, я больше не могу скрывать запуск cmd.exe.
Он всплывает и выполняет код и, как и должно быть, закрывается после выполнения команды и передает информацию в мое приложение.
Но я не могу это скрыть. Любой совет, чтобы скрыть его с ключом / c в аргументах или остановить его после выполнения командной строки без ключа / c.
Вот мой код:
private void btn_Click(object sender, EventArgs e)
{
string fileName = @"cmd.exe";
Process p = new Process();
ProcessStartInfo ps = new ProcessStartInfo();
ps.Arguments = " /c wmic qfe list full";
ps.FileName = fileName;
ps.UseShellExecute = false;
ps.WindowStyle = ProcessWindowStyle.Hidden;
ps.RedirectStandardInput = true;
ps.RedirectStandardOutput = true;
ps.RedirectStandardError = true;
p.StartInfo = ps;
p.Start();
StreamReader srrOutput = p.StandardOutput;
this.textBox1.Text = srrOutput.ReadToEnd();
}
Нашел его, по-видимому, добавление ключа / C также требует от меня добавить:
ps.CreateNoWindow = true;
Теперь все работает отлично, надо было погуглить немного дольше ..