首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

为什么GetNextWindow达不到理想的效果呢?帮忙看代码哪里有有关问题

2012-08-11 
为什么GetNextWindow达不到理想的效果呢?帮忙看代码哪里有问题我想取到指定窗口后面的一个窗口,但达不到目

为什么GetNextWindow达不到理想的效果呢?帮忙看代码哪里有问题
我想取到指定窗口后面的一个窗口,但达不到目的,代码如下:

C/C++ code
void CActivWindowDlg::OnButton1() {    // TODO: Add your control notification handler code here    Sleep(2000);    CWnd *cWnd1,         *cWnd2;    CString str;    HWND hWnd;    cWnd1=this;    char a[100];    cWnd1->SetForegroundWindow( );    Sleep(1000);    cWnd2=cWnd1->GetNextWindow( GW_HWNDNEXT);    while(NULL!=cWnd2)    {        cWnd2->GetWindowText(str);        TRACE(str);                //cWnd2->FlashWindow(TRUE);    }}


输出得到的一起是"M"也就是窗口文字是"M"的窗口。
感觉不解,帮忙看代码哪里有问题?

[解决办法]
while(NULL!=cWnd2)
{
cWnd2->GetWindowText(str);
TRACE(str);

//cWnd2->FlashWindow(TRUE);
}
这里死循环了吧?改成一下试试
while(NULL!=cWnd2)
{
cWnd2->GetWindowText(str);
TRACE(str);

cWnd2=cWnd1->GetNextWindow( GW_HWNDNEXT);
}
[解决办法]
探讨

引用:

EnumWindows()先找到指定的Window,然后下一个就是你要的结果了。

找到指定的window是的是什么呢?找到cWnd2?还是别的呢?

热点排行