这个句柄、、、偶是一个劲的FindWindow找到的HWND hWorker,hRebar,hComEx,hcom,hEdit;
HWND hwndParent=FindWindow(IEFrame,NULL);//找到IE窗口
FindWindowEx(hwndParent,hWorker,WorkerA,NULL);//找到工作区窗口(不是internet explorer server窗口)
FindWindowEx(hWorker,hRebar,ReBarWindow32,NULL);//找到Rebar窗口
FindWindowEx(hRebar,hComEx,ComboBoxEx32,NULL);//找到Comboboxex
FindWindowEx(hComEx,hcom,ComboBox,NULL);//找到combobox
FindWindowEx(hcom,hEdit,Edit,NULL);//找到ComBoBox的edit控件句柄
接下来你SendMessage(hEdit......
偶就不用说了吧~

解决方案 »

  1.   

    用钩子的话也可以,不过也是需要上面的FindWindowEx的,否则没有办法确定是不是IE地址写个钩子截获WM_CHAR和wm_ime_char消息就可以了,因为截获的是系统的键盘消息,你必须把它写到DLL里面去,到时候用EXE装载、、偶有一个类似的代码你想要的话找偶好啦
      

  2.   

    to 111222([email protected]) 先谢了
    偶照你的做了,但出现如下调试信息,
    error C2065: 'IEFrame' : undeclared identifier
    error C2065: 'WorkerA' : undeclared identifier
    error C2065: 'ReBarWindow32' : undeclared identifier
    error C2065: 'ComboBoxEx32' : undeclared identifier
    error C2065: 'ComboBox' : undeclared identifier
    error C2065: 'Edit' : undeclared identifier给偶一份代码吧,   [email protected]如果有时间,告诉我如何给分,没时间的话,我自己去查
      

  3.   

    哎呀,我一时疏忽,呵呵你也没认真看看么?
    FindWindow的参数要求是LPSTR所以你把上面的IEFrame等等都改成"IEFrame"就可以啦!!!!!!全都加上引号!!!
      

  4.   

    To 111222([email protected])我的代码void CFindIEWindowDlg::OnFind() 
    {
    HWND hWorker,hRebar,hComEx,hcom;
    HWND hEdit=NULL;
    HWND hwndParent=::FindWindow("IEFrame",NULL);//找到IE窗口
    FindWindowEx(hwndParent,hWorker,"WorkerA",NULL);//找到工作区窗口(不是internet explorer server窗口)
    FindWindowEx(hWorker,hRebar,"ReBarWindow32",NULL);//找到Rebar窗口
    FindWindowEx(hRebar,hComEx,"ComboBoxEx32",NULL);//找到Comboboxex
    FindWindowEx(hComEx,hcom,"ComboBox",NULL);//找到combobox
    FindWindowEx(hcom,hEdit,"Edit",NULL);//找到ComBoBox的edit控件句柄

    if(hEdit==NULL) AfxMessageBox("lllll");
    ::SetWindowText(hEdit,"lll");
    }
    但 最后 hEdit=NULL,   Why?(我开了好几个IE窗口)
      

  5.   

    void CCrIEDlg::OnCrackIE() 
    {
    HWND hWorker,hRebar,hComEx,hcom,hEdit;
    HWND hwndParent=::FindWindow("IEFrame",NULL);//找到IE窗口  char szError[260];
     
    hWorker=FindWindowEx(hwndParent,0,"WorkerA",NULL);//找到工作区窗口(不是internet explorer server窗口)hRebar=FindWindowEx(hWorker,0,"ReBarWindow32",NULL);//找到Rebar窗口hComEx=FindWindowEx(hRebar,0,"ComboBoxEx32",NULL);//找到Comboboxex
    hcom=FindWindowEx(hComEx,0,"ComboBox",NULL);//找到comboboxhEdit=FindWindowEx(hcom,0,"Edit",NULL);//找到ComBoBox的edit控件句柄
      ::SendMessage(hEdit,WM_GETTEXT,260,(LPARAM) szError);
      AfxMessageBox(szError);
    }
      

  6.   

    上面找到了一个IE的地址、、、偶再想办法枚举所有的IE窗口
      

  7.   

    To 111222([email protected])偶用了你上面的代码,依然还是hEdit=NULL
      

  8.   

    不可能的,偶已经实验成功了,偶把偶的工程发给你么?
    偶的OICQ系1819625
      

  9.   

    DWORD dwError=GetLastError();
      char szError[260];
      FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,
                    NULL,dwError,MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT),
                    szError,sizeof(szError),NULL);
      AfxMessageBox(szError);
    偶用上面的再每步操作后面检查,得到的全部都系“成功完成任务”
    并且已经显示了地址栏的内容,你用的偶哪段代码,偶最上面的有些问题FindWindowEx的第二个参数不对,你用偶最下面的那段
      

  10.   

    要用SendMessageGetWindowText系不好使的
      

  11.   


    偶用的是NT,有关系吗?
    偶用的是你最后一次的代码,如下:HWND hWorker,hRebar,hComEx,hcom,hEdit;
    HWND hwndParent=::FindWindow("IEFrame",NULL);//找到IE窗口  char szError[20];hWorker=FindWindowEx(hwndParent,0,"WorkerA",NULL);//找到工作区窗口(不是internet explorer server窗口)hRebar=FindWindowEx(hWorker,0,"ReBarWindow32",NULL);//找到Rebar窗口hComEx=FindWindowEx(hRebar,0,"ComboBoxEx32",NULL);//找到Comboboxex
    hcom=FindWindowEx(hComEx,0,"ComboBox",NULL);//找到comboboxhEdit=FindWindowEx(hcom,0,"Edit",NULL);//找到ComBoBox的edit控件句柄  if(hEdit==NULL) AfxMessageBox("lllll");
      ::SendMessage(hEdit,WM_GETTEXT,260,(LPARAM) szError);
      AfxMessageBox(szError);每次都弹出消息框,给我一份工程吧, [email protected]
      

  12.   

    to 111222([email protected]) 偶用了你的 GetLastError()在 hWorker=FindWindowEx(hwndParent,0,"WorkerA",NULL);//找到工作区窗口(不是internet explorer server窗口)  
    之后报错,“系统找不到指定文件”
      

  13.   

    偶的工程就系一个对话框,一个按钮,按钮的响应函数系上面的代码,一点问题都没有啊
    (考虑到上面都指出来了,偶不发送了)
    可能跟系统有关吧,你用SPY++看看你的IE的窗口都系什么
      

  14.   

    你用spy++看看你的IE的窗口们到底系怎样排列的
    偶的IE是存在这个句柄的
      

  15.   

    to  111222([email protected]) 
    今天OICQ也上不去,SPY++又不会用,等偶OICQ能上了,在向你学习吧
    总之,非常感谢,
    等我会加分了,一定给你加分,
      

  16.   

    to 111222([email protected]) 问题解决了,原来在NT中是 WorkerW,别的一样,
    非常感谢,
    我这就去找加分的方法
      

  17.   

    这么一个问题不浪费这么多的空间是否要提高下自己的消水平。 这个用Spy++是太容易的事。
      

  18.   

    NT干吗别出新裁??!!!workerW,
    我推荐一个更好用的spy,到交流中心找一下吧