Question:
Well, I have a program, which uses the Command Line, but I can only make it write "one line", and I needed you to type more than one without erasing what was already written…
What I have so far:
CODE
private void button3_Click(object sender, EventArgs e)
{
using (System.Diagnostics.Process processo = new System.Diagnostics.Process())
{
processo.StartInfo.FileName = Environment.GetEnvironmentVariable("comspec");
processo.StartInfo.WorkingDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
processo.StartInfo.Arguments = string.Format("/K IPCONFIG");
processo.StartInfo.Arguments = string.Format("/K OPENSSL");
processo.Start();
processo.WaitForExit();
}
}
Thanks.
Answer:
Use a StreamWriter
to send multiple commands in sequence:
Process p = new Process();
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = "cmd.exe";
info.RedirectStandardInput = true;
info.UseShellExecute = false;
p.StartInfo = info;
p.Start();
using (StreamWriter sw = p.StandardInput)
{
if (sw.BaseStream.CanWrite)
{
sw.WriteLine("IPCONFIG");
sw.WriteLine("OPENSSL");
}
}