FAQ:WinAPI VCPP:закрыть приложение из дочернего окна — различия между версиями
Материал из Весельчак У
RXL (обсуждение | вклад) (Новая: ===Как из дочернего окна закрыть приложение?=== Для этого нужно послать родительскому окну сообщение WM_...) |
(нет различий)
|
Текущая версия на 15:16, 3 октября 2009
Как из дочернего окна закрыть приложение?
Для этого нужно послать родительскому окну сообщение WM_CLOSE.
Через указатель на родительское окно:
pParent->PostMessage(WM_CLOSE);
При помощи хендла родительского окна:
::PostMessage(pParent->m_hWnd, WM_CLOSE, (WPARAM)0, (LPARAM)0);
Примечание: WM_CLOSE аналогично нажатию на крестик окна. То есть, это "мягкое" закрытие окна, так как это сообщение приложение может обработать по своему. Если же точно так же отправить сообщение WM_QUIT (при этом в wParam указывается значение, возвращаемое процессом после жавершения), то оконная процедура, получив это сообщение, просто прекращает работу и приложение закрывается сразу.