您的位置:首页 > 其它

如何通过一个毫不相关的进程去控制另一进程窗口中数据

2007-02-12 16:19 507 查看
如何通过一个毫不相关的进程去控制另一进程窗口中数据?as,edit框内容等等...,这和我们写程序获取ie的地址栏类似!如下:


void CMy111Dlg::OnBnClickedButton9()




...{


// TODO: 在此添加控件通知处理程序代码


CWnd* pWnd;






/**//*CString str="111";


pWnd=pWnd->FindWindow(NULL,str);


pWnd->SetWindowText(str+".cn");*/




//pWnd = CWnd::FromHandle((HWND)0x001C093C);


//CString str="111";


//pWnd->SetWindowText(str+".cn");






//CString str="Myfirst";


//HWND hWnd;


//hWnd=::FindWindow(NULL,"111");


//pWnd=pWnd->FindWindowEx(hWnd,NULL,"Edit",0);








/**//*pWnd=pWnd->FindWindow("IEFrame",NULL);


//pWnd=pWnd->GetDlgItem(0x0000A005);


//pWnd=pWnd->GetDlgItem(0x0000A005);


//pWnd=pWnd->GetDlgItem(0x0000A205);


//pWnd=pWnd->GetDlgItem(0x0000A205);


//pWnd=pWnd->GetDlgItem(0x0000A205);


pWnd=pWnd->FindWindowEx(pWnd->m_hWnd,NULL,"WorkerW",NULL);


pWnd=pWnd->FindWindowExA(pWnd->m_hWnd,NULL,"rebarWindow32",NULL);


pWnd=pWnd->FindWindowExA(pWnd->m_hWnd,NULL,"comboboxex32",NULL);


pWnd=pWnd->FindWindowExA(pWnd->m_hWnd,NULL,"combobox",NULL);


pWnd=pWnd->FindWindowExA(pWnd->m_hWnd,NULL,"edit",NULL);


char sz[255];


pWnd->SendMessage(WM_GETTEXT,255,(LPARAM)sz);


CString sss;


sss.Format("%s",sz);


MessageBox(sss);*/






/**//*pWnd=pWnd->FindWindow(NULL,"111");


//方法一


pWnd=pWnd->GetDlgItem(0x000003EE);


char sz[255]="23455";


pWnd->SendMessage(WM_SETTEXT,255,(LPARAM)sz);*/




//方法二




/**//*pWnd=pWnd->GetWindow(GW_CHILD);


while(pWnd)


{ //pWnd->SetWindowText(str+".cn");


CString strcn;


GetClassName(pWnd->m_hWnd,strcn.GetBufferSetLength(100),100);


if(strcn=="Edit")


{


CString temp;


//pWnd->GetWindowText(temp);//?


char szTxt[255];


pWnd->SendMessage(WM_GETTEXT,255,(LPARAM)szTxt);


temp.Format("%s",szTxt);


//MessageBox(temp);


if(strcmp(temp,"Myfirst")==0)


{


MessageBox("find");


//pWnd->SetWindowText(temp+".132");


char szTxt[255]=".3255";


char sz[255];


strcpy(sz,temp);


strcat(sz,szTxt);


pWnd->SendMessage(WM_SETTEXT,255,(LPARAM)sz);


}


else MessageBox("wrong");


}


pWnd=pWnd->GetWindow(GW_HWNDNEXT);


}*/






/**//*CWnd* pMainWnd=AfxGetMainWnd()->GetWindow(GW_HWNDFIRST);


while(pMainWnd)


{


CString strClassName;


GetClassName(pMainWnd->m_hWnd,strClassName.GetBufferSetLength(100),100);


if(strClassName=="IEFrame")


{


CWnd* pChildWnd=CWnd::FromHandle(::FindWindowEx(pMainWnd->m_hWnd,NULL,


"WorkerW",NULL));


if(pChildWnd)


{


CWnd* pChild2Wnd=CWnd::FromHandle(::FindWindowEx(pChildWnd->m_hWnd,NULL, "rebarWindow32",NULL));


if(pChild2Wnd)


{


CWnd* pChild3Wnd=CWnd::FromHandle(::FindWindowEx(pChild2Wnd->m_hWnd,NULL,"ComBoBoxEx32",NULL));


if(pChild3Wnd)


{


CWnd* pChild4Wnd=CWnd::FromHandle(::FindWindowEx(pChild3Wnd->m_hWnd,NULL,"ComBoBox",NULL));


if(pChild4Wnd)


{


CWnd* pChild5Wnd=CWnd::FromHandle(::FindWindowEx(pChild4Wnd->m_hWnd,NULL,"Edit",NULL));


if(pChild5Wnd)


{


char szTxt[255];


pChild5Wnd->SendMessage(WM_GETTEXT,255,(LPARAM)szTxt);


CString sss;


sss.Format("%s",szTxt);


MessageBox(sss);


sss+=".cn";


strcpy(szTxt,sss);


pChild5Wnd->SendMessage(WM_SETTEXT,255,(LPARAM)szTxt);


}


}


}


}


}


}


pMainWnd = pMainWnd->GetWindow(GW_HWNDNEXT);


}*/






pWnd=pWnd->FindWindow("IEFrame",NULL);


pWnd=pWnd->GetWindow(GW_CHILD);


while(pWnd)




...{ CString strcn;


GetClassName(pWnd->m_hWnd,strcn.GetBufferSetLength(100),100);


if(strcn=="WorkerW")




...{


CWnd* pWnd2=CWnd::FromHandle(::FindWindowEx(pWnd->m_hWnd,NULL,"rebarWindow32",NULL));


if(pWnd2)




...{


CWnd* pWnd3=CWnd::FromHandle(::FindWindowEx(pWnd2->m_hWnd,NULL,"comboboxex32",NULL));


if(pWnd3)




...{


CWnd* pWnd4=CWnd::FromHandle(::FindWindowEx(pWnd3->m_hWnd,NULL,"combobox",NULL));


if(pWnd4)




...{


CWnd* pWnd5=CWnd::FromHandle(::FindWindowEx(pWnd4->m_hWnd,NULL,"Edit",NULL));


if(pWnd5)




...{


char buf[255];


pWnd5->SendMessage(WM_GETTEXT,255,(LPARAM)buf);


CString sss;


sss.Format("%s",buf);


MessageBox(sss);


}


}


}


}


}


pWnd=pWnd->GetWindow(GW_HWNDNEXT);


}


}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: