我正在使用以下的enumchild proc来获取每个窗口的hwnd,问题是我无法从每个hwnd中检测到任何信息,以便我可以对被检测为所需的窗口进行操作。
例如,如何在下面的枚举中获取每个窗口的窗口类名和标题?
我尝试了一些方法...
EDITED: 复制粘贴(如果有帮助)
例如,如何在下面的枚举中获取每个窗口的窗口类名和标题?
我尝试了一些方法...
EDITED: 复制粘贴(如果有帮助)
TCHAR cName[MAX_PATH];
BOOL CALLBACK EnumChildProc(HWND hwnd, LPARAM lParam) {
TCHAR cName[MAX_PATH];
GetClassName(hwnd, cName, _countof(cName));
cout << cName << endl;
return TRUE;
}
int _tmain(int argc, _TCHAR* argv[])
{
HWND hwnd = FindWindow(0, TEXT("reference"));
EnumChildWindows(hwnd, EnumChildProc, 0);
system("PAUSE");
return 0;
}
它只返回十六进制句柄信息,每次都相同,难道GetClassName函数不应该将cName更改为新的句柄吗?
另外,GetClassName函数返回写入到cName的字符数,我真的看不出这对我有什么用?我需要以某种可读格式获取我的cName,以便我可以执行以下操作:
if(className == TEXT("classnameiamlookingfor" && hwndtitle = TEXT("thetitlethatinterestsme") DOSOMETHINGWITHIT();
但是在这里我得到的只是十六进制混乱。