none
Рестарт другого приложения. RRS feed

Ответы

  • Я же написал про этот случай выше.

     

       try
       {
        // Найти процесс по имени
        Process p = Process.GetProcessesByName("notepad")[0];
        // Сохранить путь к exe
        string exeName = p.MainModule.FileName;
        // Убить процесс
        p.Kill();
        p.WaitForExit();
        // Запустить снова
        Process.Start(exeName);
       }
       catch
       { }
    

     

    А еще путь к системной папке можно получить через Environment.GetFolderPath()

     

    • Предложено в качестве ответа userdab 8 октября 2010 г. 13:47
    • Помечено в качестве ответа Abolmasov Dmitry 28 октября 2010 г. 7:51
    8 октября 2010 г. 9:03

Все ответы

  • Например так (пример перезапуска блокнота):

    try
    {
      // Найти процесс по имени
      Process p = Process.GetProcessesByName("notepad")[0];
      // Убить процесс
      p.Kill();
      p.WaitForExit();
      // Запустить снова
      Process.Start("notepad.exe");
    }
    catch
    { }
    

    8 октября 2010 г. 7:09
  • По имени процесса.Спасибо,понял, попробую.
    8 октября 2010 г. 7:24
  • Дополнение к моему ответу:

    Перед убийством процесса можно получить полный путь к exe файлу процесса через p.MainModule.FileName, сохранить это значение в строковой переменной, и потом при запуске процесса передавать её в Process.Start.

    8 октября 2010 г. 7:49
  • Не совсем все гладко...Получается надо указывать весь путь к .ехе.Например : C:\\Program Files\\.....\\ХХХ.ехе весь вопрос ,а если программа которую запускаешь находится не на диске С.Вернее если винда установлена не на диске С то на другом компе этот вариант не сработает.Вместо буквы диска надо что то поставить что бы поиск шел именно на системном диске.
    8 октября 2010 г. 8:26
  • Я же написал про этот случай выше.

     

       try
       {
        // Найти процесс по имени
        Process p = Process.GetProcessesByName("notepad")[0];
        // Сохранить путь к exe
        string exeName = p.MainModule.FileName;
        // Убить процесс
        p.Kill();
        p.WaitForExit();
        // Запустить снова
        Process.Start(exeName);
       }
       catch
       { }
    

     

    А еще путь к системной папке можно получить через Environment.GetFolderPath()

     

    • Предложено в качестве ответа userdab 8 октября 2010 г. 13:47
    • Помечено в качестве ответа Abolmasov Dmitry 28 октября 2010 г. 7:51
    8 октября 2010 г. 9:03
  • Спасибо,все получилось.
    8 октября 2010 г. 9:15