尝试在窗口计算器的表单上获取按钮的句柄。 Spy ++显示以下树:
(“计算器”; CalcFrame) - >
(“”; CalcFrame) - >
(“”;#32770 Dialog),... anather child windows - >
(“”;按钮),...另一个儿童窗口
//(“窗口标题”;窗口类) // - >下一个孩子等级
我使用FindWindowExA();
捕获主窗口并深入了解#define wndName "Calculator"
...
HWND calcHwnd = ::FindWindowA(0, wndName);
HWND frameHwnd = ::FindWindowExA(calcHwnd, 0, 0, 0);
HWND contentHwnd = ::FindWindowExA(calcHwnd, 0, "#32770 (Dialog)", 0);
DWORD er = GetLastError();
我可以多次使用:: FindWindowExA(calcHwnd,0,0,0)来获得我需要的HWND(在那个级别有几个子窗口)。但我想使用我需要的窗口具有类“#32770(对话框)”的条件获得HWND。 但是:: FindWindowExA(calcHwnd,0,“#32770(Dialog)”,0) - 返回NULL。 GetLastError返回0.有什么问题?
答案 0 :(得分:2)
#32770
实际上是一个类原子。尝试:
HWND contentHwnd = ::FindWindowExA(calcHwnd, NULL, MAKEINTRESOURCE(32770), NULL);