[英]How to get readable classname and title from HWND handle? in WinApi c++
我使用以下enumchild proc獲取每個窗口的hwnd,問題是我無法以某種方式檢測每個hwnd的任何信息,所以我可以做我想要的那些被檢測為我需要的那些。
例如,我怎么能得到窗口類名稱和enum bellow中每個窗口的標題?
我試過像...
編輯:復制粘貼(如果有幫助)
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 func不應該每次都將cName更改為新句柄嗎?
另外GetClassName函數返回寫入cName的字符數,我真的不知道這對我有用嗎? 我需要以一些可讀的格式獲取我的cName,這樣我就可以做類似的事情
if(className == TEXT(“classnameiamlookingfor”&& hwndtitle = TEXT(“thetitlethatinterestsme”)DOSOMETHINGWITHIT();
但我得到的只是十六進制混亂。
是不是Unicode構建?
再次檢查以下內容:
TCHAR className[MAX_PATH];
GetClassName(hwnd, className, _countof(cName));
_tprintf(cName);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.