У меня есть ситуация, когда при получении сообщения я должен удалить окно только с hWnd. Я думаю, что это должно быть возможно, так как CreateWindowEx
создает объект, возвращая HWND, я должен быть в состоянии удалить один.
Примечание: hWnd лежит на каком-то другом процессе.
Правильный способ отправить WM_CLOSE сообщение в соответствующее окно или просто вызов DestroyWindow который отправит WM_DESTROY сообщение в окно.
Тема не могу используйте DestroyWindow, чтобы уничтожить окно, созданное другим потоком.
Разница между WM_CLOSE и WM_DESTROY:
После отправки WM_CLOSE целевое приложение может запросить подтверждение у пользователя, прежде чем разрушить окно, обработав сообщение WM_CLOSE и вызвав функцию DestroyWindow, только если пользователь подтвердит выбор.
Другими словами, закрытие окна с использованием WM_CLOSE может быть отклонено, но оно считается «более безопасным», чем WM_DESTROY, потому что приложение может сохранить запрос подтверждения и сохранить изменения.
Однако, если вам нужно принудительно закрыть, используйте WM_DESTROY.
Структурные указатели HWND управляются системой, даже не пытайтесь их удалять!
Не имеет значения, какому процессу принадлежит окно при использовании сообщения WM_CLOSE.
Отправить окно WM_CLOSE
сообщение с SendMessage
,