相关的问题   web与应用程序交互的问题  我已经问过两次了  估计之前的兄弟都被我问烦了    现在需要解决一个    比较重要的实现    就是  假如  WEB页面下   有若干个按钮    我怎么才能   在按钮被点击后     让web   告诉我的应用程序
点击的是哪个按钮    
 我想到的方法有两个   1: 让web给我的应用程序发消息    将按钮名称   带出来
                      2: 让web在本地生成一个文档 别写入 按钮名称    我的应用程序   负责读取这个文档里的信息
不知道方法是否可行,希望高手们   能给点点拨    或者实现上的详细描述    有代码实例    就更感激不尽了~~

解决方案 »

  1.   

    cdhtmldialog
    #         //CPoint point(pMsg->pt);
    #         ScreenToClient(&point);
    #         IHTMLElement* pElement=NULL;
    #         this->m_spHtmlDoc->elementFromPoint(point.x,point.y,&pElement);
    #         if(pElement)
    #         {
    //在这里做判断就行了
    }
    在PreTranslateMessage处理WM_LBUTTONUP消息,或者直接处理WM_LBUTTONUP消息.
    web写文档可以用javascript
      

  2.   

    写一个hook,记录点击时间,记录点击坐标,然后通过pointby element 获取你点的element.
      

  3.   


    判断点坐标这个方法不太好吧  应为可以WEB页面内容多的时候  需要加滚动条的呀~~
      

  4.   


    通过点坐标判断的话  如果WEB页面太长或者太宽   加了滚动条   怎么办呢    再说  如果客户在  无效区域快速点鼠标  这样运算量也相当大啊
      

  5.   

    有滚动条也不怕,当前点触发的WM_LBUTTONUP消息下对应的WEB控件就可以看做是点击了WEB控件.
      

  6.   


    可是这么做还是我应用程序单方面的   假如   同一个按钮   WEB方面  换了个名字   我还得在程序里做相应调整   我希望单方面   进行维护
      

  7.   

    但你WEB页面换了,你的函数代码肯定得换吧,函数都编译成二进制可执行代码.
      

  8.   

    首先找到 IWEBBROSWER 接口,然后查找你感兴趣的按钮(比如说  ID="GIRL" 的按钮)元素然后通过这些元素找到连接点,
    注册 接口事件,等点击的时候,你注册的这些事件就会被调用了