“Корректно” уничтожение процесса

Прямо сейчас я использую Процесс. Уничтожьте () для уничтожения процесса. Есть ли путь, хотя, вместо того, чтобы просто сразу уничтожить его, который я могу любить, отправляют сообщение в процесс, дающий ему команду закрыться так, чтобы это могло корректно вымыться и закрыться. В основном я ищу equivlent только к нажатию на красный X в верхнем правом угле, которому я верю, ДЕЙСТВИТЕЛЬНО отправляет сообщение в приложение, запрашивающее закрытие.

24
задан Icemanind 5 August 2010 в 05:29
поделиться

3 ответа

Если процесс имеет интерфейс Windows (как вы указываете на красный «X»), вы можете попробовать Process.CloseMainWindow () . В случае неудачи вы можете вернуться к Process.Kill () .

33
ответ дан 28 November 2019 в 23:37
поделиться

Убийство не может быть изящным, возможно, вы можете сигнализировать процессу о самоубийстве. Для сигнализации у вас есть много вариантов.

  • SendMessage
  • NamedPipes
  • Named Mutex
  • Sockets
5
ответ дан 28 November 2019 в 23:37
поделиться

Это будет зависеть от процесса, который вы убиваете. Как указано на соответствующей странице для Process.Kill , «Kill - единственный способ завершить процессы, не имеющие графического интерфейса». Если есть графическое окно, воспользуйтесь ответом lc выше; Process.CloseMainWindow функционирует как красный X, о котором вы говорили.

3
ответ дан 28 November 2019 в 23:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: