Newbe - IE unter XP starten

  • Hi,
    ich setze mich grade erst mit Autoit auseinander und bekomme mit run("iexplore.exe") oder runwait den internet explorer unter winxp nicht zum starten. "unable to run external programm"
    Kann mir da jemand weiter helfen?

    Danke

  • danke. Wie sieht es eigentlich aus, wen nich ich das Script compiliere, werden dann die includierten Dateien auch mit eingebunden?

    Danke

  • ich hatte jetzt mal Zeit das aus zu probieren.
    Beim zweiten gefällt mir nicht, dass es ein bestehendes Fenster nimmt.
    Warum kann ich eigentlich run("notepad.exe") ausführen aber nicht run("iexplore.exe") ? Muss es gleich eine komplizierte Funktion sein? :)

  • Weil es nicht im richtigen verzeichniss liegt bzw du in der registry keinen extra pfad dazu angegeben hast ;)

    • Offizieller Beitrag

    Hi,

    ich hatte mal angefangen den UNIX-which command nachzuproggen.

    Hier solltest du nach kurzer Zeit in der combobox sehen, welche exe Dateien direkt funktionieren im Ausführen-Dialog:

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>
    #include <GuiCombo.au3>
    #Include <File.au3>
    #Include <Array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $Combo, $Btn_Exit, $msg, $old_string = "", $befehl = "", $arrayText = ""
    Global $pathes = StringSplit(EnvGet("PATH"), ';')
    Global $fileLists_A[$pathes[0] + 1]

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate("'which command by Mega", 320, 140, 10, 10)

    [/autoit] [autoit][/autoit] [autoit]

    $Combo = GUICtrlCreateCombo("", 10, 80, 300, 120)
    $Btn_Refresh = GUICtrlCreateButton("Refresh Filter", 110, 40, 90, 30)
    $Btn_Start = GUICtrlCreateButton("Start", 10, 40, 90, 30)
    $Btn_Exit = GUICtrlCreateButton("Exit", 210, 40, 90, 30)
    $filter_I = GUICtrlCreateInput("exe", 50, 10, 30, 20)
    $filter_L = GUICtrlCreateLabel("Filter: ", 10, 10, 40, 20)

    [/autoit] [autoit][/autoit] [autoit]

    _fillCombo("*.exe")

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE Or $msg = $Btn_Exit
    ExitLoop
    Case $msg = $Btn_Start
    $befehl = GUICtrlRead($Combo)
    _with()
    Case $msg = $Btn_Refresh
    GUICtrlSetData($Combo, "")
    _fillCombo("*." & GUICtrlRead($filter_I))
    Case Else
    _GUICtrlComboAutoComplete($Combo, $old_string)
    EndSelect
    WEnd
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    ; alle Exe-Files anzeigen
    #cs
    For $i = 1 To UBound($fileLists_A) - 1
    _ArrayDisplay($fileLists_A[$i], "$FileList")
    Next
    #ce

    [/autoit] [autoit][/autoit] [autoit]

    Func _fillCombo($filter = "*.exe")
    For $i = 1 To UBound($pathes) - 1
    $fileLists_A[$i] = _FileListToArray($pathes[$i], $filter, 1)
    If (Not IsArray($fileLists_A)) And (@error = 1) Then
    MsgBox(0, "Error", "No Files\Folders Found.")
    Exit
    EndIf
    Next

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 1 To UBound($fileLists_A) - 1
    $arrayText &= _ArrayToString($fileLists_A[$i], "|", 1)
    Next
    GUICtrlSetData($Combo, $arrayText)
    $arrayText= ""
    EndFunc ;==>_findAndFillCombo

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _with()
    For $i = 1 To UBound($fileLists_A[$i]) - 1
    MsgBox(0,"", GUICtrlRead($Combo))
    If _ArraySearch($fileLists_A[$i], GUICtrlRead($Combo)) <> -1 Then
    MsgBox(64, "Info", "Der Befehl: " & @CRLF & @CRLF & GUICtrlRead($Combo) & @CRLF & @CRLF & " aus " & @CRLF & @CRLF & $pathes[$i] & @CRLF & @CRLF & " wird ausgeführt!", 5)
    If StringRight($pathes[$i], 1) <> "\" Then
    $pathes[$i] = $pathes[$i] & "\"
    EndIf
    Run($pathes[$i] & GUICtrlRead($Combo))
    Return 1
    EndIf
    ;ConsoleWrite("$i: " & $i & " $y: " & $y & " $fileLists_A: " & $fileLists_A[$i] & " " & $befehl & " " & " Path: " & $pathes[$i] & @LF)
    Next
    MsgBox(64, "Info", "Der Befehl: " & @CRLF & @CRLF & GUICtrlRead($Combo) & @CRLF & @CRLF & " wurde nicht gefunden!", 5)
    EndFunc ;==>_with

    [/autoit]

    So long,

    Mega

    P.S.: Das Ding ist nie fertig geworden, sollte aber funktionieren!

  • super Tool :)

    gibt es denn eine Möglichkeit, den Pfad zum IE zu finden und dann von diesem aus zu starten? Macht das Sinn?

    Danke für die schnelle und umfangreiche Hilfe

    • Offizieller Beitrag

    Hi,

    ich würde behaupten, dass bei >95 % der Pfad so zu finden ist:

    [autoit]

    MsgBox(0,"IE", RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE", ""))
    If FileExists(@ProgramFilesDir & "\Internet Explorer\iexplore.exe") Then MsgBox(0,"IE gefunden", @ProgramFilesDir & "\Internet Explorer\iexplore.exe")

    [/autoit]

    So long,

    Mega