有一个程序正在运行,他界面中有个EDIT控件.现在我正在开发的程序希望获得它的句柄,该怎么做?

解决方案 »

  1.   

    给你一段代码参考下,以下代码获取另外一个进程edit中文本。
    CWnd * pdlg;
    CWnd * pbutton;
    CWnd * ptmp;
    CPtrArray pwnd;
    INT index;
    CString classname;
    int i; pdlg=FindWindow(NULL,"指定窗口标题"); if(pdlg==NULL)
    {
    //AfxMessageBox(_T("没找到相对应的对话框!"));
    return;
    } pwnd.Add(pdlg);
    for(index=0;index<pwnd.GetSize();++index)
    {
    ptmp=((CWnd *)pwnd[index])->GetTopWindow();
    while(ptmp!=NULL)
    {
    pwnd.Add(ptmp);
    ptmp=ptmp->GetNextWindow();
    }
    } for(index=0;index<pwnd.GetSize();++index)
    {
    pbutton=(CWnd *)pwnd[index];
    GetClassName(pbutton->m_hWnd,classname.GetBuffer(256),255);
    if(classname=="Edit")
    {
    break;
    }
    } char a[50000] = "";
    CEdit& cEditCtrl = pChild->GetEditCtrl(); int nEndChar = ::GetWindowText(cEditCtrl.m_hWnd, (LPTSTR)a, 50000);