根据进程id找窗口句柄

设已知的进程id为processId

 

EnumWindows(YourEnumProc, (LPARAM)&wi) 

该函数枚举所有屏幕上的顶层窗口,并将窗口句柄传送给应用程序定义的回调函数。回调函数返回FALSE将停止枚举,否则EnumWindows函数继续到所有顶层窗口枚举完为止。

 

在回调函数里根据窗口句柄hwnd(通过EnumWindows函数获得的)获取其对应的进程id:

GetWindowThreadProcessId

 

检查id是否等于processid,如果不等于则回调函数返回TRUE,继续检查下一个窗口

 

检查窗口大小是否大于0,小于0则回调函数返回TRUE,继续检查下一个窗口

GetWindowRect

 

检查hwnd所属的类的类名,与指定的类名相等则回调函数返回FALSE

GetClassName

stricmp、wcsicmp

posted @ 2021-06-09 11:01  _KikyoBK  Views(1270)  Comments(0)    收藏  举报