win32模糊查找窗口句柄
2021-05-05 15:27
标签:div null mem memset set win get 查找 cal 有时候需要模糊查找句柄,findwindow就不好使了。 使用GetDesktopWindow和GetWindow枚举窗口,匹配所有窗口的标题可以实现模糊查找句柄。 windows还提供了另一种方法枚举窗口句柄 这种方法更好,但是这种方法需要使用到回调函数,在程序控制上可能需要调整。 win32模糊查找窗口句柄 标签:div null mem memset set win get 查找 cal 原文地址:http://www.cnblogs.com/hatsusakana/p/7679919.html//模糊查找窗口句柄
HWND find_window(char *title)
{
HWND dkHwnd = GetDesktopWindow();
HWND hd = GetWindow(dkHwnd, GW_CHILD);
while(hd)
{
char winTitle[125];
memset(winTitle,0,sizeof(winTitle));
GetWindowText(hd,winTitle,sizeof(winTitle));
if(strstr(winTitle,title) != NULL) return hd;
hd = GetWindow(hd, GW_HWNDNEXT);
}
return NULL;
}
BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam)
{
char title[125];
GetWindowText(hwnd,title,sizeof(title));
if(strstr(title,"计算器") == 0)
{
MessageBox(NULL,"找到了计算器","提示",MB_OK);
return FALSE;
}
return TRUE;
}
EnumWindows(EnumWindowsProc,0);
下一篇:C# MVC的默认页