有个问题想请教,我用VC控制IE的行为,有的时候IE会弹出对话框,如何捕获这个消息,并遍历对话框里元素内容

解决方案 »

  1.   

    用FindWindowEx去查找对话框里的元素
      

  2.   

    不行的,对话框的元素都是HTML元素,用spy++都探测不到.
      

  3.   

    对话框的元素都是HTML元素?
    那就使用JavaScript遍历查找吧 一搜就能搜到JavaScript的例子。
      

  4.   

    不能用javascript,我是用VC写一个独立的程序来控制IE的行为。通过COM接口,比如IWebBrowser2, IHTMLDocument2等。
      

  5.   

    你那个对话框不是aler confirm之类出来的吧??你是说ShowModalDialog ShowModelessDialog 之类的JS创建出来的?还是JS做的一个DIV+IFRAME的假对话框?ShowModalDialog其实是打开了另一个网页, 是另一个新开的DOM树,你在本页面不能直接访问到而对于DIV+ IFRAME的画, 你是可以在当前DOM中得到的, 不过有一个IFRAME哦
      

  6.   

    用spy++探测到这个对话框的类型是"Internet Explorer_TridentDlgFrame".是别人的网页,我还没找到脚本最终调用是那个函数。
      

  7.   

    我也找到了,使用window.showModalDialog打开的对话框。
      

  8.   

    我现在可以用FindWindow找到这个对话框的句炳,但如何进一步取得对应的IHTMLDocument2呢?
      

  9.   

    http://support.microsoft.com/kb/249232
    如何从一个 HWND 获取 IHTMLDocument 2