chamlien 发表于 2012-11-24 12:49:38

【已解决】内嵌IE后退和前进按钮失败!

本帖最后由 chamlien 于 2012-12-1 00:38 编辑

While 1
      $msg = GUIGetMsg()
      Select
            Case $msg = $GUI_EVENT_CLOSE
                ExitLoop
            Case $msg = $GUI_Button_Home
                $oIE.navigate("hao123.com")
            Case $msg = $GUI_Button_Back
                $oIE.GoBack
            Case $msg = $GUI_Button_Forward
                $oIE.GoForward
            Case $msg = $GUI_Button_Stop
                $oIE.Stop
      EndSelect
    WEnd



这样的事件,打开GUI后如果没有执行任何操作就点击“后退”或者“前进”,就会提示The requested action with this object has failed并且程序会退出,怎么样解决掉这些后退或者前进的BUG呢?

bob 发表于 2012-11-24 14:12:43

让 _IEAction 函数英雄无用武之地

chamlien 发表于 2012-11-24 14:31:52

回复 2# bob

楼上的意思是、?我还是菜鸟,怎么解决呢

annybaby 发表于 2012-11-24 18:28:05

本帖最后由 annybaby 于 2012-11-24 18:48 编辑

回复 3# chamlien

没有出现问题哦,是不是你的版本问题呢??

ppzpph 发表于 2012-11-25 00:03:51

我使用的是这个:Send("{BROWSER_BACK}")还有其他的操作,具体你查查帮助吧。

chamlien 发表于 2012-11-25 19:27:43

我使用的是这个:还有其他的操作,具体你查查帮助吧。
ppzpph 发表于 2012-11-25 00:03 http://www.autoitx.com/images/common/back.gif


这个就是我一开打程序,然后点击“后退”出现的错误,然后点击确定之后,程序就退出了。我看了一下中文的帮助资料,$oIE.GoBack是在操作历史里返回上一步,但出现刚开始打开的时候我没有进行任何前进的操作,所以点击后退就会出现这个问题。。。
我的能力和表达有限,希望各位能理解并给予帮助!

chamlien 发表于 2012-11-30 13:51:34

回复 4# annybaby

这是我的代码:

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>

Opt('MustDeclareVars', 1)
   #NoTrayIcon
   
   Dim $oIE, $GUIActiveX, $GUI_Button_Back, $GUI_Button_Forward
   Dim $GUI_Button_Home, $msg
      
   $oIE = ObjCreate("Shell.Explorer.2")
      
      GUICreate("文件共享测试版", 890, 600)
                GUISetBkColor(0x00E0FFFF)
      $GUIActiveX = GUICtrlCreateObj ($oIE, -1, 50, 890, 600)
      $GUI_Button_Back = GUICtrlCreateButton("后退", 53, 8, 70, 28)
      $GUI_Button_Forward = GUICtrlCreateButton("前进", 148, 8, 70, 28)
      $GUI_Button_Home = GUICtrlCreateButton("主页", 246, 8, 70, 28)
                        MsgBox(64,"温馨提示", "如果要求输入用户名的话呢"& @CRLF & @CRLF &"输入administrator按回车键试试吧")
      $oIE.navigate("\\172.21.3.8")
            GUISetState(-1,8)
      GUISetState
                While 1
                $msg = GUIGetMsg()
                Select
                        Case $msg = $GUI_EVENT_CLOSE
                           Exit
                        Case $msg = $GUI_Button_Home
                              $oIE.navigate("\\172.21.3.8")
                        Case $msg = $GUI_Button_Back
                        $oIE.GoBack
                        Case $msg = $GUI_Button_Forward
                              $oIE.GoForward
                EndSelect
      WEnd

一个简单的访问文件共享程序,但是一打开的时候点击“后退”或者是“前进”,都会提示错误然后退出程序的!求解决!

轩辕小妖 发表于 2012-11-30 14:57:43

回复 7# chamlien

代码是拼凑别人的吧??你试下复制~~运行下
根本运行不了,估计你也没有理解代码的意思~~
请再检查下代码~

annybaby 发表于 2012-11-30 16:56:38

回复 7# chamlien


    同意楼上的

chamlien 发表于 2012-11-30 20:42:28

回复 9# annybaby

呃,你们也有点抠门了,去掉GuiSetState这一行,程序就行了,我在复制代码的时候出了点小错误。

轩辕小妖 发表于 2012-11-30 22:17:28

回复 10# chamlien

可能你的AU非常特别,那请教下
GUISetState(-1,8)
作何解??
可以显示??


虽然 #include <GUIConstantsEx.au3> 也可以不用,直接
Case $msg = $GUI_EVENT_CLOSE
改成
Case $msg = -3
就可以


#include <WindowsConstants.au3>
#include <IE.au3>
有何用??
代码哪里有用到了??
指出你代码的问题了,不承认,反而怪我们~~

PS:修改后可以显示,前进后退也没有错误~~
估计是你的版本问题,建议试一下其它版本~~

annybaby 发表于 2012-11-30 23:26:06

回复 10# chamlien
试了下,点击不会出错哦`

    #NoTrayIcon
   
    Dim $oIE, $GUIActiveX, $GUI_Button_Back, $GUI_Button_Forward
    Dim $GUI_Button_Home, $msg ,$GUI_EVENT_CLOSE=-3
         
    $oIE = ObjCreate("Shell.Explorer.2")
         
         GUICreate("文件共享测试版", 890, 600)
               GUISetBkColor(0x00E0FFFF)
         $GUIActiveX = GUICtrlCreateObj ($oIE, -1, 50, 890, 600)
         $GUI_Button_Back = GUICtrlCreateButton("后退", 53, 8, 70, 28)
         $GUI_Button_Forward = GUICtrlCreateButton("前进", 148, 8, 70, 28)
         $GUI_Button_Home = GUICtrlCreateButton("主页", 246, 8, 70, 28)
;~                        MsgBox(64,"温馨提示", "如果要求输入用户名的话呢"& @CRLF & @CRLF &"输入administrator按回车键试试吧")
         $oIE.navigate("\\127.0.0.1")
             GUISetState(1)
;~          GUISetState
               While 1
               $msg = GUIGetMsg()
               Select
                         Case $msg = $GUI_EVENT_CLOSE
                            Exit
                         Case $msg = $GUI_Button_Home
                                 $oIE.navigate("\\127.0.0.1")
                         Case $msg = $GUI_Button_Back
                         $oIE.GoBack
                         Case $msg = $GUI_Button_Forward
                                 $oIE.GoForward
               EndSelect
         WEnd

chamlien 发表于 2012-11-30 23:36:00

回复 12# annybaby

大哥,你用的是哪个版本的au呢?想学习一下,我用的是3.8的,老是不行呢,一点后退或者前进程序就出错了

annybaby 发表于 2012-12-1 00:06:22

回复 13# chamlien

论坛下的3.3.9.4~~
我4楼都跟你说了要先确认下是不是版本问题啦`~~

chamlien 发表于 2012-12-1 00:38:29

回复 14# annybaby
学习了大哥,果然是版本问题,困扰我好些日子了!
页: [1] 2
查看完整版本: 【已解决】内嵌IE后退和前进按钮失败!