您的位置:首页 > 编程语言 > C语言/C++

EnumWindows 传递自定义参数实例

2016-07-13 22:42 645 查看
#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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++