怎么截获其他窗口的消息啊

如何截获其他窗口的消息啊?
如何在自己的程序中截获其他进程窗口的消息;
例如:启动windows的计算器,在自己的程序中监视计算器窗口的最小化,最大化,还原,移动,关闭的消息。
如何做啊,最好能不用DLL文件来实现啊!!高手来!!!

------解决方案--------------------
hook
------解决方案--------------------
截获其它窗体消息要用HOOK,HOOK一般都用DLL来实现。
------解决方案--------------------
SetWindowsHookEx WH_CBT
------解决方案--------------------
一般情况下用全局消息钩子即可,就是楼上说的CBT
------解决方案--------------------
用全局消息钩子