script isolieren

  • hallo
    ich habe folgendes Problem:
    ich bräuchte einen Befehl mithilfedessen ich die Eingabe per Maus oder Tastatur vollständig blockieren kann, allerdings suche ich nicht etwas wie blockinput, denn bei diesem Befehl wird ja alles blockiert, ich möche aber nur, dass dass jegliche Eingabe die den Script beeinflüssen könnte blockiert wird (sozsagen, dass der Script von den anderen Anwendungen isoliert wird)

  • ja, oder dass durch einen versehentlichen Click einanderes Fenster aktiviert wird und so der Script nicht fertig ausgeführt wird...nein habe ich nicht, ist nur ein sehr einfacher Script...

  • Der Skript? :p

    Zitat

    ich bräuchte einen Befehl mithilfedessen ich die Eingabe per Maus oder Tastatur vollständig blockieren kann, allerdings suche ich nicht etwas wie blockinput, denn bei diesem Befehl wird ja alles blockiert


    Wie? Wat? Eingabe blockieren oder nicht? Handelt es sich dabei um eine Automatisierung von Tastaturkommandos und Mausclicks oder hat das Skript eine eigene GUI? Oder willst Du nur, dass man den Prozess nicht abschiessen kann?

    EDIT: Sry, nicht geschaut. Hat also keine GUI. Naja, wenn Du etwas automatisierst, ist es wohl schwer zu unterscheiden ob die aktuelle Eingabe nun vom Skript oder von Dir kommt. Wenn der User der Meinung ist ein Fenster zu öffne, obwohl das Skript z.B. ein WinWait() auf ein anderes macht, sieht es wohl schlecht aus. Automatisierungsvorgände mit wilden ControlClick-Orgien sollen wohl besser mit BlockInput abgescihert werden.

    Einmal editiert, zuletzt von teh_hahn (30. Juli 2007 um 22:58)

  • eben das ist ja das problem...

    der srcript sieht in etwa so aus:

    Spoiler anzeigen
    [autoit]


    BlockInput(1)
    Run("vlc-0.8.6c-win32.exe")
    WinWait("Installer Language","Please select a language")
    ControlClick("Installer Language","Please select a language","Button1")
    WinWait("VideoLAN VLC media player 0.8.6c Installation","Willkommen beim")
    ControlClick("VideoLAN VLC media player 0.8.6c Installation","Willkommen beim","Button2")
    WinWait("VideoLAN VLC media player 0.8.6c Installation","Lizenzabkommen")
    ControlClick("VideoLAN VLC media player 0.8.6c Installation","Lizenzabkommen","Button2")
    WinWait("VideoLAN VLC media player 0.8.6c Installation ","Komponenten ausw‰hlen")
    Send("{DOWN 3}")
    Send("{TAB}")
    Send("{DOWN}")
    Send("{SPACE}")
    Send("{DOWN}")
    Send("{SPACE}")
    Send("{DOWN}")
    Send("{SPACE}")
    Send("{DOWN 2}")
    Send("{SPACE}")
    ControlClick("VideoLAN VLC media player 0.8.6c Installation ","Komponenten ausw‰hlen","Button2")
    WinWait("VideoLAN VLC media player 0.8.6c Installation ","Zielverzeichnis ausw‰hlen")
    ControlSetText("VideoLAN VLC media player 0.8.6c Installation ","Zielverzeichnis ausw‰hlen","Edit1",@ProgramFilesDir & "\VLC\")
    ControlClick("VideoLAN VLC media player 0.8.6c Installation ","Zielverzeichnis ausw‰hlen","Button2")
    WinWait("VideoLAN VLC media player 0.8.6c Installation ","Installiere...")
    ControlClick("VideoLAN VLC media player 0.8.6c Installation ","Installiere...","Button4")
    WinWait("VideoLAN VLC media player 0.8.6c Installation ","Klicken Sie auf Fertig stellen")
    ControlClick("VideoLAN VLC media player 0.8.6c Installation ","Klicken Sie auf Fertig stellen","Button4")
    ControlClick("VideoLAN VLC media player 0.8.6c Installation ","Klicken Sie auf Fertig stellen","Button2")
    BlockInput(0)

    [/autoit]

    aber wie man oben sieht habe ich noch blockinput integriert... gibt es also keine Lösung??
    und wenn alles einfach im Hintergrund abläuft, ohne dass man etwas sieht
    würde das funktionieren??

    Edit GtaSpider: [31.07.2007 23:32]
    Spoiler und Autoit tags eingefügt

    Einmal editiert, zuletzt von abcd_1234 (30. Juli 2007 um 23:32)

  • Bitte [Spoiler][AutoIt]-Tags verwenden! Die ControlClicks und WinWaits stellen hier kein Problem dar. Daz Einzige, was in meinen Augen Probleme bereitet sind die Sends in der Mitte. Die müsstest Du aber auch über entsprechende ControlCommands automatisieren können.
    Du kannst die GUI mit WinSetTrans() transparent machen, dann geht trotzdem noch alles.

    EDIT: VLC scheint InstallShield zu sein. Google mal nach nach den SilentSchaltern davon!

    Einmal editiert, zuletzt von teh_hahn (30. Juli 2007 um 23:16)

  • Sry...
    Das mit den silentschaltern kenn ich schon, allerdings kann man dann nicht mehr nach Belieben Einstellungen vornehmen...
    frage:
    wenn ich vor allen Sends ein winactivate setze müsste es funktionieren oder nicht???

  • Nimm doch ControlSend :)

    Dieser Beitrag wurde 9521 mal editiert, zum letzten Mal von Blubkuh: Morgen, 02:28.

    [autoit]

    If Not $Elephant Then $Irelephant = True

    [/autoit]
  • thx diese Funktion muss ich wol total übersehen haben :D werds gleich versuchen :)


    die funktion WinSetState("Installer Language","Please select a language", @SW_MINIMIZE)
    müsste aber auch funktionieren oder??? :D

    Einmal editiert, zuletzt von abcd_1234 (31. Juli 2007 um 00:27)