3,245
社区成员
发帖
与我相关
我的任务
分享
HWND MyFindListViewWindow()
{
const int MyMaxParentWinCount = 4;
// 父窗口类名数组
char *A_szClassName[MyMaxParentWinCount] = {
"ThunderRT6FormDC",
"ThunderRT6Frame",
"ThunderRT6Frame",
"ListView20WndClass"
};
// 父窗口标题数组
char *A_szWinName[MyMaxParentWinCount] = {
Title,
"",
"",
""
};
// 首先求得顶级父窗口
HWND hMainWin = FindWindow(A_szClassName[0], A_szWinName[0]);
if (NULL==hMainWin) {
return NULL;
}
// 逐次用FindWindowEx函数求出各级子窗口
HWND hNextChildWin=NULL;
HWND hLastWin=NULL;
for (int i=1; i<MyMaxParentWinCount; i++) {
if (1==i) {
hMainWin = FindWindowEx(hMainWin,NULL ,A_szClassName[i],A_szWinName[i]);
} else if (2==i) {
hNextChildWin = FindWindowEx(hMainWin,hNextChildWin,A_szClassName[i],A_szWinName[i]);
if (NULL==hNextChildWin) break;//
hNextChildWin = FindWindowEx(hMainWin,hNextChildWin,A_szClassName[i],A_szWinName[i]);
hLastWin=hNextChildWin;
} else {
hLastWin = FindWindowEx(hLastWin,NULL ,A_szClassName[i],A_szWinName[i]);
}
}
return hLastWin;
}