Probleme mit ControlClick Funktion bei Installation von IBM Client Access

  • Hallo!

    Vorab mal ein Lob: Wirklich eine sehr informative Website. Ich beschäftige mich seit drei Tagen mit Autoit und diese Website ist wirklich eine super Informationsquelle.

    Ich hoffe ihr könnt mir bei meinem Problem helfen:

    Seit vielen Stunden versuche ich AutoIT dazu bekommen, einen "OK" Button Button bei einer Installation zu drücken (siehe Bild).
    Leider habe ich es weder mit der "ControlClick-Funktion" noch mit einem "normalen Enter, Tab, etc." hinbekommen.


    [Blockierte Grafik: http://www.autoit.de/index.php?page=Attachment&attachmentID=12016&h=f1a733b7d145f145d83d80781c84603008d36820]


    WinActivate bzw. WinWaitActive funktioniert, d.h. das Fenster ist "aktiv".
    Allerdings kommt trotzdem keine "ENTER" Eingabe an und auch kein "ControlClick".
    Ich habe schon etliche Variante versucht. Hier die Grundinfos, ich hoffe das reicht für euch Experten. :)

    Zuerst die Infos zum "Window":

    Und jetzt die Infos zum OK-Button:

    Wie würde euer AutoIt Code aussehen um den Button zu drücken?

    Vielen Dank im Voraus!

    Gregor

  • [autoit]

    Controlclick ("Wählen Sie eine Setup-Sprache aus ", "","Button1")

    [/autoit]


    Versuch das mal, wenn es nicht funktioniert lass es 2 mal hinternander aufrufen, bei mir ist manchmal das Prob das es erst beim zweiten mal klappt.

  • Hallo BadBunny!

    Vielen Dank für deine Hilfe.
    Genau so (und auf einige andere Arten) hab ich es auch versucht. Leider kein Erfolg.
    Auch mehrmals hintereinander (mit sleep dazwischen etc.) hat nicht funktioniert. Es tut sich einfach nichts.
    Wobei wenn ich z.B. auf der Tastatur "ENTER" drücke geht's sofort weiter.

    Aber per AutoItScript tut sich leider garnichts.

    Hat noch jemand eine Idee? Mir gefällt Autoit ansonsten sehr gut und würds wirklich gerne verwenden. :/

  • Hallo!
    Hat leider nicht geholfen.
    Wie gesagt, das Fenster ist "aktiv". D.h. ich sollt eigentlich im richtigen Fenster sein.
    Anbei der Code.

    [autoit]


    Opt("WinTitleMatchMode", 2)
    run ("cmd")
    WinActivate ("C:\Windows\system32\cmd.exe")
    WinWaitActive ("C:\Windows\system32\cmd.exe")
    send ("start \\atsp1dat04\it$\private\CLIENTS_SOFTWARE\AS400_Installationen\001_ClientAccess\Windows7\V6.1\1\Basisinstallation\image32\setup.exe")
    send ("{ENTER}")
    WinActivate("Wählen Sie eine Setup-Sprache aus")
    WinWaitActive ("Wählen Sie eine Setup-Sprache aus")
    ControlClick ("Wählen Sie eine Setup-Sprache aus", "","Button1")
    exit

    [/autoit]
  • Kannst du das Setup nicht direkt mit dem Run - Befehl starten?

    Das WinActivate sollte eigentlich unnötig sein, da ControlClick ja speziell dafür da ist in Programmen zu Klicken welche nicht aktiv oder im Fokus sind.

    Hast du schon alle Varianten versucht?

    [autoit]

    ControlClick("Wählen Sie eine Setup-Sprache aus", "",1006)
    ControlClick("Wählen Sie eine Setup-Sprache aus","","[CLASS:Button; INSTANCE:1]")

    [/autoit]

    Ansonsten probier mal ein bisschen rum, zb gib nur einen Teil des Titels an wenn du WinTitleMatchMode 2 hast vielleicht gibts ja Probleme mit Umlauten

  • Hallo! Vielen Dank für den Vorschlag. Leider kein Erfolg. Ich weiß nicht wo genau hier das Problem liegt. Andere Programminstallationen funktionieren ganz gut, aber bei der Software Client Access will es einfach nicht... :(

    [autoit]

    Opt("WinTitleMatchMode", 2)
    WinActivate("Setup-Sprache")
    ControlClick("Setup-Sprache","","[CLASS:Button; INSTANCE:1]")
    Exit

    [/autoit]

    Wie gesagt, das "aktivieren" des Fensters (siehe Screenshot) funktioniert gut. Aber das "Enter" oder eben der "ControlClick" kommen einfach nicht an, egal was ich mache.

    Einmal editiert, zuletzt von grema (13. Dezember 2010 um 13:17)

  • Dann bin ich jetzt auch mit meinem Fernwartungs - Latein am Ende...
    Bräuchte die Software um es selbst testen zu können

  • Ich hab mal gehört das es möglich sein kann das über dem Control noch was liegt, mach mal controlmove mit deinen Angabebn und guck ob sich was verändert.

  • Dann hätte das AuInfo Tools ja auch was anders zeigen müssen.
    Oder meinst du eine Art Dummy um vor Automatisierung zu schützen?

    Falls es garnicht klappt mit ControlClick:
    Wenn das Fenster eh im Vordergrund ist und es nicht im Hintergrund laufen muss dann nehm doch einfach:

    [autoit]

    MouseClick

    [/autoit]
  • Mal ne ganz andere Idee...
    Das Setup erstellt das Fenster, lädt die Sprachen für die Combo und erstellt danach den Button.
    Vllt kommt der ControlClick zu früh, also bevor der Button existiert.
    Versuchs mal mit nem Sleep nach dem WinWait.

    Spoiler anzeigen
    [autoit]

    Opt("WinTitleMatchMode", 2)

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

    Local $Path = "start \\atsp1dat04\it$\private\CLIENTS_SOFTWARE\AS400_Installationen\001_ClientAccess\Windows7\V6.1\1\Basisinstallation\image32\setup.exe"
    Run(@ComSpec & " /c '" & $Path & "'", "", @SW_HIDE)
    WinWait("Wählen Sie eine Setup-Sprache aus")
    Local $Timer = TimerInit()
    Do
    Sleep(5)
    If TimerDiff($Timer) > 500 Then Exit ; Timeout
    Until ControlClick("Wählen Sie eine Setup-Sprache aus", "","Button1")

    [/autoit]
  • Es ging ja auch mit WinWaitActive nicht und da wird definitiv gewartet bis das Fenster aktiv und geladen ist.
    Und ich nehme mal an, dass er zum testen nicht jedesmal das Setup beenden und neustarten wird sondern es dauerhaft offen ist

  • Hallo! Vielen Dank für euren Input. Leider habe ich noch immer keine Lösung.

    Wenn jemand wirklich so nett wäre die Sache anzusehen, hätte ich die notwendigen Installationsdateien auf einem FTP zum Testen abgelegt.

    ftp://f00496fe:AutoiT11@draupharma.com

    Die Datei hat ca. 30 MB und ich habe die meistens großen, unnötigen CAB Dateien gelöscht. Aber zum Testen sollte es reichen.
    Vielen Dank im Voraus!

    Ich bin gespannt ob es jemand von euch hinbekommt! ;)

  • Gerade heruntergeladen und getestet:

    [autoit]

    Opt("WinTitleMatchMode", 2)
    ControlClick("Wählen Sie eine Setup-Sprache aus","",1006)

    [/autoit]


    Funktioniert einwandfrei

    Was hast du für ein Betriebssystem? Falls 64bit mach mal Rechtsklick aufs Skript und Run(x86) (oder so ähnlich)

  • Hallo Milla!

    Vielen Dank für deine Hilfe. Du hast das Problem auf den Punkt gebracht.
    Ich habe es gerade mit einem Windows XP Rechner ausprobiert. Da funktioniert es problemlos.

    Aber mit Windows 7 32 bit geht es leider nicht. Egal wie ich es anstelle.
    Ich habe die aktuelle Beta von Autoit installiert. Und trotzdem geht es leider nicht.

    Hat noch jemand eine Idee wie ich das mit Windows 7 hinbekomme? Genau dafuer brauch ich es naemlich.

    Lg und schoenen Abend!

    Greg

  • Ok! Vielen Danke für deine Tests.
    Jetzt muss ich mal rausfinden wieso es bei meinen PCs mit Windows 7 32-bit nicht geht (McAfee Suite?; odas was auch immer)

    Das Rätselraten geht also weiter.

  • Ruf mal den Herrn Gates an :D
    Glaub da kann dir keiner helfen also bei mir funktionierts
    Musst halt schaun was da bei dir blockt