РЕДАКТИРОВАТЬ: Я немного покопался и нашел статью MSDN с рекомендуемым Microsoft подходом.
Поскольку это приложение для Windows, вы можете отправить сообщение WM_CLOSE в главное окно, однако имейте в виду, что если приложение переопределяет обработку сообщения WM_CLOSE, вы можете получить неожиданные результаты. Также имейте в виду, что использование функций win32, таких как TerminateProcess и ExitProcess , также может иметь неприятные побочные эффекты (см. Разделы замечаний по msdn), включая глобальные данные в скомпрометированных dll, а также тупиков.
Если вы несете ответственность за кодирование целевого приложения, я бы порекомендовал добавить некоторую форму встроенного механизма завершения, который может запускаться извне (например, волшебный пакет на адресе обратной связи или каналах), чтобы вы могли быть уверены, что ваше приложение очистило за собой соответственно.