如何获取最小化的窗口句柄?
无条件为你 2008-09-17 11:00:50 有一个扭按Button1,单击它,我要实现的功能是获取当前活动窗口的句柄,如果窗口都被最小化了,则获取到最后一个被最小化的窗体句柄。
问题的核心是:如何获取到最后一个被小最化的窗体?
我首先想到了用钩子,用SetwindowsHookEx(WH_CALLWNDPROC , HookProc, HInstance, 0)。
直接截获所有窗口的最小化事件,只要有窗口被最小化,就把这个窗口的句柄记下来。那么,最后记录的句柄就是我要的句柄。可是钩子我总是写不好,执行时出错,把Explorer.exe都搞崩溃了好多次。
求这段钩子的完整写法。最好是不用要DLL的。
如果不用钩子,有其它方法达到我要实现的功能,也可以。
小发现:其实FindWindow就可以实现我要的效果,该函数可以获取到最后一个被最小化的窗体句柄,但我要控制所有窗体,类名不同,所以无法使用该函数。