我正在使用C#和CF,我需要使用MessageWindow拦截Windows消息。
可能存在MessageWindow意外死亡的情况。这对我来说是一个问题,因为它收到的消息有点重要,我想记录Window已经死亡的事实。
不幸的是,我没有看到任何方式(至少在Managed API中没有)我可以得到这种通知。有人可以帮忙吗?
答案 0 :(得分:1)
一些想法:
你可以通过在每个X间隔生成一个特殊的消息来“ping”MessageWindow吗?然后检查这个“ping”,你可以确定在大约内部检测到破坏。 X时间。
或者你可以覆盖Dispose或Finalize通话吗?如果这些被调用。我也假设没有异常被抛出。
答案 1 :(得分:1)
不确定你的意思是“死”,但一般来说当一个Window被销毁时(包括一个基于MessageWindow的那个)你将得到一个WM_DESTROY调用。你能在WndProc中找到它吗?