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)
script isolieren
-
- [ offen ]
-
abcd_1234 -
30. Juli 2007 um 21:51 -
Geschlossen -
Erledigt
-
-
- Offizieller Beitrag
Hallo!
Du meinst z.B. das das Programm nicht beendet werden kann? Hastdu eine GUI in deinem Programm? Falls ja kannst du sie mit GuiSetState(@SW_DISABLE) dekativieren.
Mfg Spider
-
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
Zitatich 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.
-
eben das ist ja das problem...
der srcript sieht in etwa so aus:
Spoiler anzeigen
[autoit]
[/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)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 -
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!
-
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
-
thx diese Funktion muss ich wol total übersehen haben werds gleich versuchen
die funktion WinSetState("Installer Language","Please select a language", @SW_MINIMIZE)
müsste aber auch funktionieren oder???