函数功能:该函数枚举所有屏幕上的顶层窗口,办法是先将句柄传给每一个窗口,然后再传送给应用程序定义的回调函数。EnumThreadWindows函数继续到所有顶层窗口枚举完为止或回调函数返回FALSE为止函数原型:BOOL EnumWindows(WNDENUMPROC lpEnumFunc,LPARAM lParam);
" C* _' g4 q( z3 R3 y3 V2 f# o8 ~$ ?0 l1 k" n' Y( ^, s$ m
参数:5 g0 C6 M0 N. n9 Q2 H2 y
( Q. T! C. n3 {% h* \" h* c
lpEnumFunc:指向一个应用程序定义的回调数指针,请参看EnumWindowsProc。; |! b" E: z6 s6 q) c5 Q
+ o/ S' `6 H, Q$ ^, ` L
lPararm:指定一个传递给回调函数的应用程序定义值。
. D' @& D8 ~) r- U5 n" R$ ]% ^- g1 n0 j& n6 A& k i4 ~4 Q# C- y
返回值:如果函数成功,返回值为非零;如果函数失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。
& A' \# n5 n7 K1 J' y s+ I; L8 c! K* {! V" B3 F( {* E1 k0 l
备注:EnumWindows函数不列举子窗口。% o9 F U* r# s3 n+ t3 t5 c0 r
7 ]) }. p1 c$ {8 e5 v- c
在循环体中调用这个函数比调用GetWindow函数更可靠。调用GetWindow函数中执行这个任务的应用程序可能会陷入死循环或指向一个已被销毁的窗口的句柄。
' i. | A5 x _6 a/ b: ?. D6 h+ y8 g& [; g3 C: ~6 d+ t( D3 [: b% w% ~, t
* A9 w' \2 i! v, ~2 x9 `4 `1 ?
DLL命令名 | 返回值类型 | 公开 | 备注 | EnumWindows | 逻辑型 | | | DLL库文件名 | user32 | 在DLL库中对应命令名 | EnumWindows | 参数名 | 类型 | 传址 | 数组 | 备注 | lpEnumFunc | 子程序指针 | | | | lParam | 整数型 | | |
# F, ^9 X7 I: C! k; t* o使用方法 4 y( Q* A2 Y: V7 r% F, q
; E' C2 ?2 T( i9 ^
5 X( ]8 g+ j" ^: |/ l6 M. q
* O/ Z1 e$ _5 y: j& R1 e1+ @3 p5 T2 p- ]; e5 T1 w
使用方法:
% ? J$ f o9 F: j: A& F" X% h* A: r8 J
1.点击程序2.在程序数据上点鼠标右键新建DLL,依次输入上面的库名,命令名等.% {7 K. m! {/ @6 C) A+ |
6 z( U; G! _& H& b$ j. Q
6 Z1 p# B0 q. K" C% ^
) @1 {6 ]% b9 @/ U" G7 C$ y
8 \) D0 q$ B9 y: P( o/ F/ X# a' y
# U, t3 M! Z( T2 {" d7 r |