#include <windows.h>
HWND Myhwnd[3]; //存放窗口句柄数组
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
{
char *pParam = (char *)lParam; // pParam 就是你传进来的那个参数了,也就是main中的那个Text[128] = { "无标题 - 记事本" };
TCHAR caption[200];
memset(caption, 0, sizeof(caption));
::GetWindowText(hwnd, caption, 200);
if(strcmp(caption, pParam)== 0)
{
//查找到一个窗口句柄。
Myhwnd[0]=hwnd; //将找到的第一个句柄存入数组第一个指针里Myhwnd[0];
return FALSE; // return FALSE 是指不再继续枚举窗口了。如果你不知道 可以查询msdn
}
return TRUE;
}
int main(int argc, char* argv[])
{
char Text[128] = { "无标题 - 记事本" };
::EnumWindows(EnumWindowsProc, (LPARAM)Text);
char strOutput[128];
wsprintf(strOutput,"句柄:0x%x", Myhwnd[0]);
MessageBox(NULL,strOutput,"Myhwnd",NULL); //输出句柄Myhwnd
printf("Hello World!\n");
return 0;
}
EnumWindows 传递自定义参数实例
最新推荐文章于 2024-03-17 01:13:17 发布