В настоящее время я пытаюсь перенести существующие данные в пакетном файле в форму окна C #
Вся цель - получить живой результат из пакетного файла в текстовое поле C #, но я продолжаю терпеть неудачу в этом.
Процедура работает так же, как нажатие кнопки-> тайно запустить пакетный файл-> C # возвращает данные в реальном времени-> отобразить в текстовом поле
Мне удалось запустить пакетный файл, но он запускается в другомновая CMD, вызывающая проблемы с зависанием во время отладки.
Я хотел бы знать, может ли кто-нибудь написать мне код для преодоления такой проблемы.Надежда на лучший ответ
ProcessStartInfo cmd = new ProcessStartInfo();
Process process = new Process();
cmd.FileName = @"cmd";
cmd.UseShellExecute = false;
cmd.RedirectStandardError = true;
cmd.RedirectStandardInput = true;
cmd.RedirectStandardOutput = true;
cmd.CreateNoWindow = true;
process.EnableRaisingEvents = false;
process.StartInfo = cmd;
process.Start();
process.StandardInput.Write(@"cd C:\Users\%username%\Desktop\Claymore's Dual Ethereum+Decred_Siacoin_Lbry_Pascal AMD+NVIDIA GPU Miner v11.0" + Environment.NewLine);
process.StandardInput.Write(@"EthDcrMiner64.exe -allpools 1 -epool asia1.ethereum.miningpoolhub.com:20535 -ewal AJStudio.AJStudio001 -epsw x -esm 2" + Environment.NewLine);
process.StandardInput.Close();
string result = process.StandardOutput.ReadToEnd();
StringBuilder sb = new StringBuilder();
sb.Append("[result info]" + DateTime.Now + "\r\n");
sb.Append(result);
sb.Append("\r\n");
richTextBox1.Text = sb.ToString();
process.WaitForExit();
process.Close();