MessageWindow - Как я могу узнать, был ли он уничтожен? - PullRequest
0 голосов
/ 05 мая 2009

Я работаю с C # и CF, и мне нужно использовать MessageWindow для перехвата сообщений Windows.

Возможны сценарии, когда окно сообщений неожиданно умирает. Это проблема для меня, поскольку сообщения, которые он получает, довольно важны, и я хотел бы зарегистрировать факт, что Окно умерло.

К сожалению, я не вижу способа (по крайней мере, в Managed API), чтобы я мог получать такого рода уведомления. Кто-нибудь может помочь?

Ответы [ 2 ]

1 голос
/ 08 мая 2009

Не уверен, что вы подразумеваете под "умирает", но, вообще говоря, когда окно разрушено (включая окно, лежащее в основе MessageWindow), вы получите вызов WM_DESTROY. Вы можете найти это в WndProc?

1 голос
/ 07 мая 2009

Некоторые идеи:

Можете ли вы "пинговать" окно сообщений, генерируя собственное специальное сообщение каждый X интервал? затем проверьте этот «пинг» таким образом, что вы можете быть уверены, что обнаружите разрушение в течение ок. X время.

Или вы можете переопределить удаление или завершение вызовов? если они будут вызваны. Я также предполагаю, что не было исключений.

...