情况是这样的,有两个对话框,想在Dialog1中获取Dialog2里面按钮的状态,是否可用1、获取按钮句柄:HWND hwnd1 = (HWND)FindWindow(NULL,"Dialog2");
2、if(GetDlgItem(IDC_BTN,&hwnd1)->IsWindowEnabled()==TRUE){}各位高手帮帮忙,这种办法肯定不行了,,具体点哈

解决方案 »

  1.   

    HWND hWnd = ::FindWindow(NULL, _T("A"));
    if(hWnd)
    {
    HWND hButton = ::FindWindowEx(hWnd, NULL, _T("Button"), _T("OK"));
    if(hButton)
    {
    BOOL bRet = ::IsWindowEnabled(hButton);
    AfxMessageBox(bRet ? _T("Enable" : "Disable"));
    }
    }
      

  2.   


    我在Dialog1中添加了一个按钮,然后把你刚给的那段代码放在这个按钮的消息响应函数中了,运行后点击按钮没有反应。。
    HWND hWnd = ::FindWindow(NULL,"Dialog2");
    if(hWnd)
    {
    HWND hButton = ::FindWindowEx(hWnd,NULL,NULL,"button1");
    if(hButton)
    {
    BOOL ret = ::IsWindowEnabled(hButton);
    AfxMessageBox(ret ? "Enabled" : "Diabled");
    }
    }
      

  3.   

    你Debug调试一下你的hWnd和你的hButton有值吗?
      

  4.   


    debug调试了一下,hWnd是空的,找不出理由为什么是空的
      

  5.   

    可能是你传递给FindWindow/FindWindowEx()函数的参数值不对,自己好好检查一下~