日期:2014-05-20  浏览次数:20785 次

求助,小弟初次接触api,请叫大家帮帮忙
小弟想做一个好玩的,获取windows桌面上的所有窗体,并控制该窗体的移动位置,我使用了findwindow(string one,string two)
这样只能找到一个窗体,那么我要遍历所有的,那肯定是个集合,可是findwindow的话,传了窗体的名字,所以只能是一个,我要如何才能获取到所有的窗体呢?
希望能有详细的代码就好了,感谢。。。。分不多,求住

------解决方案--------------------
用EnumWindows 

EnumWindows function
BOOL WINAPI EnumWindows(
__in WNDENUMPROC lpEnumFunc,
__in LPARAM lParam
);

Enumerates all top-level windows on the screen by passing the handle to each window, in turn, to an application-defined callback function. EnumWindows continues until the last top-level window is enumerated or the callback function returns FALSE.

参考
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633497(v=vs.85).aspx

至于platform invoke的声明格式

参考
http://pinvoke.net/default.aspx/user32/EnumWindows.html