none
Выполнение действия по завершению выполнения cmd команды RRS feed

  • Вопрос

  • При нажатии на кнопку открывается cmd и выполняется некая команда так вот как мне узнать когда эта команда будет выполнена. Например идет форматирование флешки и когда она отформатировалась выдается уведомление что эта флешка отфармотирована 
    20 ноября 2015 г. 18:36

Ответы

Все ответы

  • Используйте System.Diagnostics.Process

    По завершении процесса произойдет событие Exited.



    • Предложено в качестве ответа Pavel Dorovsky 20 ноября 2015 г. 21:33
    • Изменено Pavel Dorovsky 20 ноября 2015 г. 22:23 Existed -> Exited
    • Помечено в качестве ответа Андрейсыс 21 ноября 2015 г. 11:27
    20 ноября 2015 г. 21:33
  • Можно пожалуйста поподробнее сделал вот так но переменной info присваивается значение false 

     
    21 ноября 2015 г. 12:44
  • А лучше пример
    21 ноября 2015 г. 12:44
  • Вам необходимо будет задать процессу  EnableRaisingEvents true и либо сделать небольшую остановку после вызова Start():

    class Program
        {
            static void Main(string[] args) {
    
                ProcessStartInfo processInfo = new ProcessStartInfo() {
                    FileName = "cmd",
                    Arguments = @"/c ping 127.0.0.1"
                };
    
                var process = new Process() {
                    StartInfo = processInfo,
                    EnableRaisingEvents = true
                };
    
                process.Exited += ProcessExited;
    
                process.Start();
                Thread.Sleep(100);
                
                Console.ReadLine();
            }
    
    
            static void ProcessExited(object sender, EventArgs e) {
                Console.WriteLine("Процесс завершён.");
            }
        }

    Либо другой вариант - вызвать после Start():

    process.WaitForExit();

    21 ноября 2015 г. 16:30