Да, свич, там нужные типы сообщений. Разбираешь их состав.
Вызывать или не вызывать родной WindowProc - это зависит от задачи: если ты только "наблюдаешь", логгируешь что-то, то конечно же вызвать с неизменёнными параметрами. Если хочешь поменять параметры - меняешь и вызываешь. Если хочешь абсолютно новое поведение - то вместо вызова делаешь своё. Как вариант - сначала вызов родного обработчика, затем делаешь своё поверх (уже не вызывая в конце)
Лабиринт - я не в курсе про какой лабиринт речь
![Улыбаюсь](/Smileys/test/smile.gif)
А на рисунке вижу вообще только один тип сообщения - WM_COMMAND. Но и его можно разобрать безо всяких лабиринтов
![А черт его знает...](/Smileys/test/dontknow.gif)
В общем - столкнёшься, там поглядим