找回密码
 加入
搜索
楼主: boyhong

[系统综合] 我要疯掉了(关于_IECreate启动不是IE默认浏览器)

 火.. [复制链接]
发表于 2010-3-19 15:58:49 | 显示全部楼层
我也研究过这个问题,一直没有很好的解决方法,楼主现在有无研究出了?
发表于 2010-3-24 09:13:36 | 显示全部楼层
IE.AU3只支持IE核心的浏览器,对Firefox等不支持吧
发表于 2010-3-24 09:48:14 | 显示全部楼层
新手..学习..期待中!!
发表于 2010-3-24 12:24:36 | 显示全部楼层
自建一个内置ie的窗口 其余操作都是和ie一样的

        $Form1 = GUICreate("Form1", 1000, 600, 200,100)
        $oIE = ObjCreate("Shell.Explorer.2")
        GUICtrlCreateObj($oIE, -2, -2, 980, 580)
        $oIE.navigate("http://www.sina.com")
        GUISetState(@SW_SHOW)
        _IELoadWait($oIE)
发表于 2010-3-24 12:54:42 | 显示全部楼层
没有那么复杂吧?
 楼主| 发表于 2010-4-9 07:43:01 | 显示全部楼层
希望大家能继续讨论一下。希望能彻底解决这个问题。。。
发表于 2010-4-14 13:28:52 | 显示全部楼层
注册表的事?
发表于 2010-6-23 15:55:33 | 显示全部楼层
你先将IE打开,再用_IECreate试试。
发表于 2010-7-12 11:28:09 | 显示全部楼层
不用那么复杂,你的问题是修改完注册表后没有生效的原因
想让它生效只需要启动一下IE就可以了
;================================================================
;注册表检查
;================================================================
Func _Regedit($KeyPath_1, $KeyName_1, $KeyType_1, $KeyValue_1, $r_Flag_1)
        Local $Oper_flag=0
        If $r_Flag_1 = 1 Then
                $reg_text = RegRead($KeyPath_1, $KeyName_1)
                If @error <> 0 Or $reg_text <> $KeyValue_1 Then
                        RegWrite($KeyPath_1, $KeyName_1, $KeyType_1, $KeyValue_1)
                        If $logFlag = 1 Then write_log("注册表写入成功: " & $KeyValue_1)
                        $Oper_flag=1
                EndIf
        Else
                RegRead($KeyPath_1, $KeyName_1)
                If @error = 0 Then
                        RegDelete($KeyPath_1, $KeyName_1)
                        If $logFlag = 1 Then write_log("注册表删除成功")
                        $Oper_flag=2
                EndIf
        EndIf
        If $logFlag = 1 Then write_log("注册表自启动检查完成")
        Return $Oper_flag
EndFunc   ;==>_Regedit
        Local $regedit_oper1, $regedit_oper2
        $regedit_oper1 = _Regedit("HKEY_CLASSES_ROOT\http\shell\open\command", "", "REG_SZ", @ProgramFilesDir & "\Internet Explorer\iexplore.exe", 1)
        $regedit_oper2 = _Regedit("HKEY_CLASSES_ROOT\http\shell\open\ddeexec\Application", "", "REG_SZ", "iexplore.exe", 1)
        If $regedit_oper1 = 1 Or $regedit_oper2 = 1 Then ShellExecute("iexplore.exe", "", "", "open")
我使用这种方法解决了目前的问题,但是有一点,就是如果检测到非IE的浏览器后,要修改注册表,然后要启动一下IE使它生效,需要手动关闭,如果想完美一点,可以取到进程ID然后杀掉它。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-24 20:49 , Processed in 0.068607 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表