Процесс сам откроет окно, и, как только файл .bat выйдет, выйдет и закроет главное окно.Это не ваш код, который является неправильным, это по умолчанию способ запуска .bat-файла, если вы просто дважды щелкнули по нему в Проводнике (cmd открывается до тех пор, пока .bat не завершится, а затем снова закрывается)
Вы упомянули, чтоВы пробовали "Process.WaitForExit ()", но я хотел бы отметить, что в вашем контексте это должно быть "support.WaitForExit ()", очень похожее на ваше "dt.WaitForExit ()" (код, который вы опубликовали, который теперь удален)
Если это не сработает, добавьте «PAUSE» в новую строку в файле support.bat.Это также предотвратит закрытие окна до нажатия клавиши.
Если у вас нет доступа для редактирования файла support.bat, все, что вам нужно сделать, это прочитать содержимое файла и временно сохранить его где-нибудь.и затем запустите его ... или добавьте:
using (StreamWriter w = File.AppendText("support.bat"))
{
w.WriteLine("PAUSE");
}
Выше приведен очевидный пример, вам нужно проверить, является ли "PAUSE" последней строкой, прежде чем снова записывать в файл.Я также не показал код о том, как создать файл и сохранить его, вы должны быть в состоянии справиться с этим:)