У меня уже есть реальное решение ... но я не знал об этом до сих пор!
Спасибо всем за разъяснения о времени жизни дескриптора окна, но на самом деле есть метод для обнаруженияо времени жизни дескриптора окна: CbtProc .
В случае, если хук установлен во всей системе, можно уведомить конкретные приложения (все зависит от реальной реализации хука CBT) об окнеdestroy, который указывает, что определенный дескриптор не будет действительным после уведомления.
Из документации:
HCBT_DESTROYWND Указывает дескриптор окна, которое должно быть уничтожено.
Конечно, доступ к дескрипторам, использующим подпрограммы WINAPI, должен быть синхронизирован с системой уведомлений, что, по-видимому, не дает хорошей осуществимости (ловушка CBT фактически блокирует уничтожение окна, поскольку синхронизируется с логикой приложения).