我在dlg对话框中加入了timer控件,设置为一秒钟刷新一次,并且自动发送消息进行坐标的点击,但是这样写无效,请高手指点一二,我这里只剩下40分, 全部贡献了。void testDlg::OnTimer(UINT_PTR nIDEvent)
{
static int x=0,y=0;
x++;y++;
CWnd* pwndIEShell = NULL;
CWnd* pwndIEHTML = NULL;  
pwndIEShell = this->GetWindow(GW_CHILD); //this是CWebBrowser2指针
if (pwndIEShell)
{
pwndIEHTML = pwndIEShell->GetWindow(GW_CHILD);
}  
if(pwndIEHTML!=NULL)
{
//SetCursorPos(x,y);
pwndIEHTML->SendMessage(WM_NCLBUTTONDOWN,MK_LBUTTON,MAKELPARAM(x,y));
pwndIEHTML->SendMessage(WM_NCLBUTTONUP,MK_LBUTTON,MAKELPARAM(x,y));
}   CDialog::OnTimer(nIDEvent);
}

解决方案 »

  1.   

    补充一下
    这个是我从网上拷贝过来的一段代码
    CWnd* pwndIEShell = NULL;
    CWnd* pwndIEHTML = NULL;   
    pwndIEShell = this->GetWindow(GW_CHILD); //this是CWebBrowser2指针
    if (pwndIEShell)
    {
    pwndIEHTML = pwndIEShell->GetWindow(GW_CHILD);
    }   
    if(pwndIEHTML!=NULL)
    {
    }
      

  2.   

    是模拟鼠标点击操作吗?使用mouse_event/SendInput()
      

  3.   

    说明:用mouse_event模拟鼠标点击必须在界面出现的情况下才可以,如果不在界面上面显示的时候就不可以了,SendInput()如何使用呢?
      

  4.   

    还不如加载自定义JS,然后对话框自己获取web Browser控件,触发js等函数来提交
      

  5.   

    你是说加载自定义js到原有的webbrowser控件打开的网页中吗?然后再触发js的点击事件吗?可以做到指定坐标的点击吗?
      

  6.   

    来个高手解决一下啊,这两句该如何修改pwndIEHTML->SendMessage(WM_NCLBUTTONDOWN,MK_LBUTTON,MAKELPARAM(x,y));
    pwndIEHTML->SendMessage(WM_NCLBUTTONUP,MK_LBUTTON,MAKELPARAM(x,y));