本帖最后由 blc1001 于 2009-06-26 23:11:51 编辑

解决方案 »

  1.   

    hwnd = FindWindow("#32770", "Microsoft Internet Explorer") 
    这个就不对
    你用
    (NULL,"Microsoft Internet Explorer") 
    还有你最好用myspy看看弹出的那个对话框的句柄到底是多少
      

  2.   

    hwnd = FindWindow("#32770", "Microsoft Internet Explorer") 
    这个就不对 
    你用 
    (NULL,"Microsoft Internet Explorer") 
    还有你最好用myspy看看弹出的那个对话框的句柄到底是多少 
    ========================================================
    您好,这个是没问题的哦。因为1. 这个是#32770是类,是我使用SPY++查找出来的;当然,使用vbNullString也正确。但是实际上,无论是使用#32770还是vbNullString, 都是一样的结果,hwnd = 0。2. 还有一个能证明这个是没问题的。就是我之前说的,这个hwnd = FindWindow("#32770", "Microsoft Internet Explorer") 它最雷人的地方,居然正确无误的找出了世界之窗浏览器里面的那个网页的对话框了, 而不能找出WebBrowser1里面一样的网页弹出的一样的对话框。所以,语句是没问题的。我这样的理解对吧。
      

  3.   

    你另建个程序查找这个程序的句柄吧如果可以查到到再来谈世界之窗和ie不一样的 还有Sleep 200 你弄长点5秒看看,如果你那个msgbox也会等5秒后才出现因为你这是单线程自己看自己,很可能是还没有弹出错误框你就在查找了
      

  4.   

    你另建个程序查找这个程序的句柄吧 ===== 我只是打算在这个Command3_Click()里面查找哦。本来我还打算想另外做一个timmer,但是觉得不大好,不过昨晚也做了一次,时间间隔是500,也没找出来。我回去再试试,谢谢你。还有Sleep 200 你弄长点5秒看看==== 好的,这个我晚上回家试试。
    ---------------------------------------------------------------------------------------------------------------
                                                                   ---  ---【 自己总结一下问题出现的情况】---------============================打开世界之窗的情况下=================================1. 打开浏览器世界之窗,打开这个个网页,点击【全选】,点击【删除选中】,弹出了我要查找的对话框。2. 打开我制作的VB程序,在WebBrowser1打开一样的网页。点击自动执行的按钮Command3_Click() , 程序会点击【全选】,点击【删除选中】,弹出了我要查找的对话框,此时,VB程序暂停。3. 我手动点击VB程序中的WebBrowser1弹出的对话框的X, 关闭弹出对话框,弹出我vb程序设置的MsgBox hwnd , 读取正确,但是4. 但是,雷人的是,它读取的是世界之窗里面的网页弹出对话框的句柄(使用SPY++可以知道),而不是WebBrowser1的弹出对话框句柄!!!晕了。============================没有打开世界之窗的情况=================================
    1. 打开我制作的VB程序,在WebBrowser1打开一样的网页。点击自动执行的按钮Command3_Click() , 程序会点击【全选】,点击【删除选中】,弹出了我要查找的对话框,此时,VB程序暂停。2. 我手动点击VB程序中的WebBrowser1弹出的对话框的X, 关闭弹出对话框,弹出我程序设置的MsgBox hwnd , 读取不正确了,此时hwnd = 0, 晕!
      

  5.   

    搞这么累,直接用下getforegroundwindow然后判断一下是不是IE弹出的窗口(点击之后因该弹出为活动的吧)!