我正在使用以下enumchild proc来获取每个窗口的hwnd,问题是我无法以某种方式从每个hwnd中检测到任何信息,因此我可以对被检测为我需要的信息执行我想要的操作。
例如,如何获取枚举下面的窗口类名称和每个窗口的标题?
我尝试过类似
编辑:复制粘贴(如果有帮助)
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;
}
Run Code Online (Sandbox Code Playgroud)
它只是返回十六进制句柄信息,并且每次都相同,GetClassName函数是否应该每次都将cName更改为新句柄?
另外,GetClassName函数返回写入cName的字符数,我真的不明白这对我有什么用?我需要以某种可读的格式获取cName,以便我可以执行类似的操作
if(className == TEXT(“ classnameiamlookingfor” && hwndtitle = TEXT(“ thetitlethatinterestsme”)DOSOMETHINGWITHIT();
但是我到这里来的是十六进制混乱。
它不是Unicode版本吗?
再次检查以下内容:
TCHAR className[MAX_PATH];
GetClassName(hwnd, className, _countof(cName));
_tprintf(cName);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5992 次 |
| 最近记录: |