Send funktioniert bei BlockInput() nichtmehr

  • Ich glaube ich nerve langsam heute mit meinen Problemen, also erstmal sorry.

    Ich rufe mit einem ganz simplen Script eine anderen Autoit-exe auf:

    Spoiler anzeigen
    [autoit]


    BlockInput(1)
    RunAsWait("user","ads","123",0,"\\193.196.72.5\ProgrammeAutoit$\AcrobatPro9\install.exe")
    BlockInput(0)

    [/autoit]


    Das aufgerufene Script:

    Spoiler anzeigen
    [autoit]

    Opt("WinWaitDelay",100)
    Opt("WinTitleMatchMode",4)
    Opt("WinDetectHiddenText",1)
    Opt("MouseCoordMode",0)
    RunAS("g-admin3","ads","installer123",0, "\\193.196.72.5\ProgrammeAutoit$\AcrobatPro9\Adobe Acrobat 9 Pro\Setup.exe")
    WinWait("Setup","Wählen Sie die Sprac")
    If Not WinActive("Setup","Wählen Sie die Sprac") Then WinActivate("Setup","Wählen Sie die Sprac")
    WinWaitActive("Setup","Wählen Sie die Sprac")
    sleep(100)
    Send("{ENTER}")
    WinWait("Adobe Acrobat 9 Pro - English, Français, Deutsch - Assistent"," Adobe")
    If Not WinActive("Adobe Acrobat 9 Pro - English, Français, Deutsch - Assistent"," Adobe") Then WinActivate("Adobe Acrobat 9 Pro - English, Français, Deutsch - Assistent"," Adobe")
    WinWaitActive("Adobe Acrobat 9 Pro - English, Français, Deutsch - Assistent"," Adobe")
    sleep(100)
    Send("{ENTER}")
    WinWait("Adobe Acrobat 9 Pro - English, Français, Deutsch - Assistent","Testversion installi")
    If Not WinActive("Adobe Acrobat 9 Pro - English, Français, Deutsch - Assistent","Testversion installi") Then WinActivate("Adobe Acrobat 9 Pro - English, Français, Deutsch - Assistent","Testversion installi")
    WinWaitActive("Adobe Acrobat 9 Pro - English, Français, Deutsch - Assistent","Testversion installi")
    sleep(100)
    Send("123456789123456789")
    sleep(100)
    Send("{TAB}")
    sleep(100)
    Send("{ENTER}")
    WinWait("Adobe Acrobat 9 Pro - English, Français, Deutsch - Assistent","Bitte einen Setuptyp")
    If Not WinActive("Adobe Acrobat 9 Pro - English, Français, Deutsch - Assistent","Bitte einen Setuptyp") Then WinActivate("Adobe Acrobat 9 Pro - English, Français, Deutsch - Assistent","Bitte einen Setuptyp")
    WinWaitActive("Adobe Acrobat 9 Pro - English, Français, Deutsch - Assistent","Bitte einen Setuptyp")
    sleep(100)
    Send("{TAB}")
    sleep(100)
    Send("{DOWN}")
    sleep(100)
    Send("{TAB}")
    sleep(100)
    Send("{TAB}")
    sleep(100)
    Send("{TAB}")
    sleep(100)
    Send("{ENTER}")
    WinWait("Adobe Acrobat 9 Pro - English, Français, Deutsch - Assistent","Klicken Sie auf ""Wei")
    If Not WinActive("Adobe Acrobat 9 Pro - English, Français, Deutsch - Assistent","Klicken Sie auf ""Wei") Then WinActivate("Adobe Acrobat 9 Pro - English, Français, Deutsch - Assistent","Klicken Sie auf ""Wei")
    WinWaitActive("Adobe Acrobat 9 Pro - English, Français, Deutsch - Assistent","Klicken Sie auf ""Wei")
    sleep(100)
    Send("{ENTER}")
    WinWait("Adobe Acrobat 9 Pro - English, Français, Deutsch - Assistent","Klicken Sie ""Install")
    If Not WinActive("Adobe Acrobat 9 Pro - English, Français, Deutsch - Assistent","Klicken Sie ""Install") Then WinActivate("Adobe Acrobat 9 Pro - English, Français, Deutsch - Assistent","Klicken Sie ""Install")
    WinWaitActive("Adobe Acrobat 9 Pro - English, Français, Deutsch - Assistent","Klicken Sie ""Install")
    sleep(100)
    Send("{ENTER}")
    WinWait("Adobe Acrobat 9 Pro - English, Français, Deutsch - Assistent","Beim erstmaligen Sta")
    If Not WinActive("Adobe Acrobat 9 Pro - English, Français, Deutsch - Assistent","Beim erstmaligen Sta") Then WinActivate("Adobe Acrobat 9 Pro - English, Français, Deutsch - Assistent","Beim erstmaligen Sta")
    WinWaitActive("Adobe Acrobat 9 Pro - English, Français, Deutsch - Assistent","Beim erstmaligen Sta")
    sleep(100)
    Send("{ENTER}")

    [/autoit]


    Laut der Hilfe ist send() auch bei BlockInput weiterhin möglich, was allerdings in diesem Praxisbeispiel nicht der Fall ist. Sobald BlockInput aktiv ist werden keinerlei send() mehr durchgeführt. Gibt es hier einen Trick dabei oder evtl. andere möglichkeiten Benutzereingaben zu blockieren?

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Wenn es im aufgerufenen Skript ist geht es, allerdings brauche ich es im ersten, da dort noch weiter scripte aufgerufen werden sollen und dazwischen auch keine eingabe durch den Benutzer erfolgen soll.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Habs jetzt so gelöst, dass ich BlockInput vor dem aufrufen des Scriptes deaktiviere und im augerufenen scirpt dann wieder aktiviere. Leider unschön aber kann man wohl nicht ändern.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Hi Chip!

    Brauchst du wirklich einen BlockInput ?
    Reicht es nicht einfach die Schaltflächen deines ersten Scripts zu deaktivieren?

    [autoit]

    GUICtrlSetState($controlID, $GUI_DISABLE)

    [/autoit]


    Den Blockinput kannst du ja dann im aufgerufenen Script einbauen, so wie funkey es vorgeschlagen hat.

    If not :?: then ?( else :thumbup:

  • Ja brauche ein BlockInput, da vor dem starten der installscripte noch Prüfung durchläuft. Müsste eigentliche auch strg+alz+entf blocken aber das lass ich erstmal.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.