Problem mit WMP Script

  • Hey Leute,
    ich hab mal wieder nach langer Zeit ein Problem mit einem Script von mir...
    und zwar hab ich mir ein Installations/Deinstallations Script für den Windows Media Player 11 geschrieben. Die Installation klappt auch komplett reibungslos, aber die Deinstallation macht mir noch diverse Probleme.
    Scheinbar will AutoIT einfach den Button (ums verrecken) nicht klicken...
    kann es daran liegen das einfach bestimmte Windows Meldungen nur von Hand und nicht von AutoIT zu klicken sind?

    Komm da einfach nich mehr weiter.
    Ja ich weis wenn ich den Media Player deinstalliere, dann müsst ich die Updates auch wieder deinstallieren lassen...um das solls jetzt aber in dem Script mal nicht gehn...rein um die Installation und Deinstallation des Media Players.

    Hier noch ein Bild der Meldung die er nicht klicken will bei mir:
    [Blockierte Grafik: http://img46.imageshack.us/img46/9337/testho5.jpg]

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.2.12.1
    Author: $cR!pT k!ddY

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

    Script Function:
    Windows Media Player 11 installieren

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

    #ce ----------------------------------------------------------------------------

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

    ;$cR!pT Start
    HotKeySet("{ESC}", "Abbrechen")

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

    ;Variablen deklarieren
    $pfad = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Windows Media Player", "UninstallString")
    $pfad1 = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Windows Media Format Runtime", "UninstallString")
    ;--------------------------------------------------------------------------------

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

    If Not @error Then
    $msg = 'Programm ist bereits installiert.' & @CRLF & 'Programm deinstallieren?'
    Switch MsgBox(33, 'Windows Media Player', $msg)
    Case 1
    If MsgBox(36,"Windows Media Player","Nach Deinstallation neu installieren?") = 6 Then
    Call("_ReInstall")
    Else
    Call("_DeInstall")
    Exit
    EndIf
    Case 2
    Exit 2
    EndSwitch
    EndIf

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

    ;--------------------------------------------------------------------------------
    ;Installation
    RunWait("\\fs-piagms05\programme$\AutoIT\Source Code\Windows Media Player\Windows Media Player 11.exe")
    Exit 2
    ;--------------------------------------------------------------------------------
    Func _ReInstall()
    ;DeInsallation
    ;siehe Deinstall!!

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

    ;Installation
    RunWait("\\fs-piagms05\programme$\AutoIT\Source Code\Windows Media Player\Windows Media Player 11.exe")

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

    Exit 2
    EndFunc
    ;--------------------------------------------------------------------------------
    Func _DeInstall()
    $title = "Windows Media Player 11"
    $title1 = "Windows Media Format Runtime"
    RunWait($pfad)
    WinWait($title, "Rollback")
    ControlClick($title, "Button1", "OK")
    WinWait($title, "Sie haben sich entschieden")
    ControlClick($title, "Button6", "&OK")
    WinWait($title, "abgeschlossen")
    ;ControlClick($title, "Button4", "&Neustart")
    WinClose($title, "abgeschlossen")

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

    RunWait($pfad1)
    WinWait($title1, "The Windows")
    ControlClick($title1, "Button1", "OK")
    WinWait($title1, "You have chosen")
    ControlClick($title1, "Button1", "&Do you want to continue with the rollback?")
    ControlClick($title1, "Button6", "&OK")
    WinWait($title1, "complete")
    ;ControlClick($title1, "Button4", "&Restart")
    WinClose($title1, "complete")

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

    Exit 2
    EndFunc
    ;--------------------------------------------------------------------------------
    Func Abbrechen()
    Exit
    EndFunc

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

    ;$cR!pT End

    [/autoit]
  • Wieso sollte man das nicht anklicken können? Sieht für mich aus wie eine ganz normale MsgBox. Ich hab sie mal nachgebaut und getestet: :D:P

    [autoit]

    $str = "Local $x = Sleep(3000)+ControlClick('Windows Media Player 11', '', 'Button1')"
    Run('"' & @AutoItExe & '" /AutoIt3ExecuteLine "' & $str & '"')

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

    MsgBox(49,"Windows Media Player 11","Es wird ein Rollback von Windows Media Player auf die früher auf dem Computer installierte Version durchgeführt. Möchten Sie den Vorgang fortsetzen?")

    [/autoit]


    Geht einwandfrei, also einfach mit

    [autoit]

    ControlClick('Windows Media Player 11', '', 'Button1')

    [/autoit]

    wegklicken!

  • THX
    meine Herren....ich habs gewusst...es is bestimmt nur was ganz kleines...warum des da ned funzt...
    und natürlich wars des auch...aaaaa...%&%"$§%§...
    Hab die Syntax für ControlClick falsch geschrieben....omg...
    kaum schreibt mans richtig lässts sich auch wegklicken :D

    Danke :)
    Dann hat sich des Thema ja jetzt auch schon erledigt.