Я новичок в визуальной студии. Я хочу написать приложение Windows Form, которое открывает «cmd.exe», и пользователь может ввести команду в текстовом поле. Выходное сообщение из cmd должно быть перенаправлено в другое текстовое поле. По какой-то причине выходное сообщение не отображается в текстовом поле
Я пытался найти ответы, и ни один из них, похоже, не работает для меня. Очень признателен, если кто-то может помочь мне определить проблему
public cmd_helper()
{
//Initialize
InitializeComponent();
Load_Cmd_String();
updata_box();
}
private void Start_button_Click(object sender, EventArgs e)
{
myProcess.StartInfo = new ProcessStartInfo("cmd.exe")
{
RedirectStandardInput = true,
UseShellExecute = false,
WorkingDirectory = @"C:\",
CreateNoWindow = true,
Verb = "runas"
};
// event handlers for output & error
myProcess.OutputDataReceived += myProcess_OutputDataReceived;
myProcess.ErrorDataReceived += myProcess_ErrorDataReceived;
// start process
myProcess.Start();
cmd_output_text.AppendText("cmd running...\n");
}
private void Close_buttom_Click(object sender, EventArgs e)
{
myProcess.Close();
cmd_output_text.AppendText("cmd closed...\n");
}
private void myProcess_ErrorDataReceived(object sender,
DataReceivedEventArgs e)
{
Process myProcess = sender as Process;
if (myProcess == null)
return;
cmd_output_text.AppendText(e.Data);
}
private void myProcess_OutputDataReceived(object sender,
DataReceivedEventArgs e)
{
Process myProcess = sender as Process;
if (myProcess == null)
return;
cmd_output_text.AppendText(e.Data);
}
private void Send_cmd_button_Click(object sender, EventArgs e)
{
myProcess.StandardInput.Write(command[name.IndexOf(command_box.Text)] + myProcess.StandardInput.NewLine);
}
Примечание:
У меня есть две кнопки «Пуск» и «Стоп», которые будут открывать и закрывать cmd.exe.
Пользователь должен набрать что-то вроде: dir, cd для некоторого dir, cd для другого dir