防止攔截 WndProc 後當掉的作法(編號:5540)

剛發現的,應該還有人不知道吧,所以上來分享一下。
在使用攔截 WndProc 的方法後,一般是在 Form_Unload 事件中把所攔截的視窗程序還原,但這樣的問題在於設計階段時,程式執行中若是按下「■」強迫停止,則不會發生 Form_Unload,造成 VB 當掉,非常不便。
而避免這個問題的方法,就是在 WndProc 中檢查 uMsg (message identifier) 的值,若是 WM_DESTROY 則將攔截的視窗程序還原。用此法就不必在 Form_Unload 中還原了。
以後,就可以放心的「強迫停止」了。