Я знаю, что название не объясняет это хорошо, поэтому я объясню это лучше здесь. Я работаю над приложением для форм Windows (пусть это будет приложение A), которое по сути является графическим интерфейсом для другого приложения, написанного на другом языке из командной строки (приложение B). Проблема в том, что я не знаю, как запустить несколько команд на одном экземпляре приложения. Мне нужно заставить нажатие кнопки изменить некоторые значения с помощью одной команды, выполняемой в приложении B, а нажатие другой кнопки отображает значения. Это не работает, потому что после нажатия первой кнопки значения меняются, но при нажатии другой кнопки вызывается другой экземпляр приложения B с отображением команды, и его значения остаются неизменными (по умолчанию).
private void button2_Click(object sender, EventArgs e) //apply command
{
using (Process process = new Process)
{
process.StartInfo.FileName = FileLocation;//app B location
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.Arguments = "apply " + textBox1.Text + "#";
process.Start();
//apply,# ->command for changing values
//textBox1.Text is input to specify how values are changed
StreamReader reader = process.StandardOutput;
string output = reader.ReadToEnd();
label1.Text = output;
process.WaitForExit();
}
}
private void button8_Click(object sender, EventArgs e) //view command
{
using (Process process = new process)
{
process.StartInfo.FileName = FileLocation;
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.Arguments = "view";
process.Start();
//view -> command to see values
StreamReader reader = process.StandardOutput;
string output = reader.ReadToEnd();
label1.Text = output;
//process.WaitForExit();
}
}
Я знаючто проблема вызвана методами, использующими разные процессы, но я не знаю, как заставить их использовать один, использующий блок