229989799 发表于 2017-2-15 09:24:36

默认浏览器是IE,为何_IECreate打开还是其他浏览器,郁闷。。

默认浏览器是IE9,为何_IECreate打开还是其他浏览器,郁闷。。
#include <IE.au3>
_IECreate("www.baidu.com",1,0)

是不是IE.au3不够完善呢,还是其他什么问题??

帆船 发表于 2017-2-15 18:20:18

这是有软件篡改了 InternetExplorer.Application 的默认浏览器,具体是检查 HKEY_CLASSES_ROOT\CLSID\{0002DF01-0000-0000-C000-000000000046}\LocalServer32 的键值是不是iexplore.exe,可以在运行时检测并修改为 @ProgramFilesDir & "\Internet Explorer\iexplore.exe 。修改之后需要重启才能生效。

229989799 发表于 2017-2-16 09:59:50

回复 2# 帆船


    导入注册表后重启,值还是没变,晕死。。而且直接修改会提示无法修改,网上搜索试过权限问题,还是搞不定。。最后用ie锁定才可以。但注册表依旧不是ie打开的值

帆船 发表于 2017-2-16 13:08:31

本帖最后由 帆船 于 2017-2-16 13:09 编辑

回复 3# 229989799
手工也无法修改吗?
如果可以修改,但是开机依旧会恢复的话您就要卸载那个程序了
附上我自用的UDF:

Func _Exists()
        Local $RegInfo = RegRead("HKEY_CLASSES_ROOT\CLSID\{0002DF01-0000-0000-C000-000000000046}\LocalServer32", "")
        ConsoleWrite($RegInfo & @CRLF)
        Local $Temp = StringRegExp($RegInfo, "[\w\\\s]+\\(.+?\..+)", 1)
        ConsoleWrite($Temp & @CRLF)
        If $Temp = "iexplore.exe" Then Return 0
        TrayTip("提示", "检测到您的默认浏览器被篡改,即将为您修复!但想要根本解决,您应该卸载" & $Temp & "程序!", 5)
        If ProcessExists($Temp) Then
                Do
                        ProcessClose($Temp)
                Until Not ProcessExists($Temp)
        EndIf
        If Not FileExists(@ProgramFilesDir & "\Internet Explorer\iexplore.exe") Then
                TrayTip("提示", "您的计算机似乎没有安装IE浏览器,无法修复!", 5)
                Sleep(5000)
                Return 1
        EndIf
        RegWrite("HKEY_CLASSES_ROOT\CLSID\{0002DF01-0000-0000-C000-000000000046}\LocalServer32", "", "REG_SZ", @ProgramFilesDir & "\Internet Explorer\iexplore.exe")
        Local $MsgID = MsgBox(4, "提示", "修复完毕,是否现在为您重启计算机?")
        If $MsgID = 7 Then
                MsgBox(0, "提示", "请您稍后重启计算机后再使用此程序!")
                Return 2
        EndIf
        TrayTip("提示", "即将为您重启计算机!您还有十秒钟时间保存文件!", 10)
        Sleep(10000)
        Shutdown(2)
        Return -1
EndFunc   ;==>_Exists

229989799 发表于 2017-2-16 14:25:30

回复 4# 帆船


    谢谢你的帮忙哦,注册表修改重启后还是无效,估计是IE被挟持,只能修复了。。你的udf写的不错,赞。。

lin6051 发表于 2017-2-19 08:18:17

回复 5# 229989799


    先run ie,获取句柄再 _IEAttach呗,
不过还是建议用内嵌IE方式

xuanniao110 发表于 2017-3-19 18:51:13

GUICreate("百度" , 800, 600)
$Obj1 = ObjCreate("Shell.Explorer.2")
$Obj1_ctrl = GUICtrlCreateObj($Obj1, 0, 0, 800, 600)
$Obj1.navigate("http://www.baidu.com")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
      $nMsg = GUIGetMsg()
      Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

lxwlxwayy 发表于 2017-3-19 20:53:08

帮你顶{:face (303):}
页: [1]
查看完整版本: 默认浏览器是IE,为何_IECreate打开还是其他浏览器,郁闷。。