Здравствуйте, egvos4, Вы писали:
E>Здравствуйте, Carc, Вы писали:
C>>
C>>WM_CLOSE
C>>WM_SYSCOMMAND + wParam==SC_CLOSE
C>>WM_DESTROY
C>>
C>>Хотя как писал ниже okman, это не гарантия закрытия процесса. Процесс может иначе обработать эти сообщения и не завершаться. Хотя в 99 из 100 как правило скорее всего завершиться. Но это не из логики вытекает, а из традиций. Что вряд ли процесс останется работать после таких "просьб". Но опять же — это традиции и только, ничто не мешает абстрактному процессу игнорировать эти сообщения в том или ином случае.
C>>PS: Примеров прямо противоположных именно традиций сотни. "Традиций" в том смысле что в абстрактном софте Икс сделано незавершение по нажатию на крестик (WM_CLOSE | WM_SYSCOMMAND+SC_CLOSE) не из абстрактной "вредности", а по смыслу. Ну, например, настройки типа "сворачивать в трей" при нажатии на крест, много где такие настройки используются. Соответственно, процесс как работал так и будет работать.
E>Спасибо за комментарии.
E>Могли бы объяснить или дать ссылки как реализовать на практике передачу этих команд на закрытие от моего приложения, запущенным мною приложениям (в моем случае одному из 4х браузеров)?
E>При учете, что у меня есть только указатель запущенного мной процесса, через ShellExecuteEx.
Копать в сторону
GetWindowThreadProcessId +
SendMessageTimeout