#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 发布
本文介绍了一个使用C++实现的简单程序,通过枚举Windows系统中的所有窗口来查找指定标题的窗口,并获取其句柄。具体示例为查找标题为“无标题-记事本”的记事本窗口。
455

被折叠的 条评论
为什么被折叠?



