PDA

View Full Version : [AutoIT] Aiutino (è importante e urgente per favore)


albeatles95
27-06-2010, 20:17
Allora, la mia intenzione è di creare uno script che, una volta aperto un processo X, lasci passare una certa unità di tempo (10 minuti) e poi muovi il mouse all' infinito da una parte all'altra dello schermo.
IO ho digitato questo nel compilatore: (Uso il blocco note e il delay di due secondi per fare l'esempio)
While 1 = 1
If Processexists ("notepad.exe") then
Sleep(2000)
Mousemove (0, 200, 5)
Mousemove (999, 200, 5)
Endif
WendTuttavia non è ciò che cerco:
infatti il mouse si muove e con il ritardo di due secondi, ma il computer esegue lo script comprendendo anche il ritardo che invece va usato solo all'apertura dell'applicazione: io vorrei che lo script si comporti così:
apertura blocco note-2 secondi di ritardo-mouse nel punto 1- spost. nel punto 2-spostamento nel punto 1-spostamento nel punto 2 ecc ecc all'infinito, mentre lo script si comporta così:
apertura blocco note-2 sec di ritardo-mouse nel punto 1-mouse nel punto 2- 2 sec di ritardo- mouse nel punto 1- mouse nel punto 2 ecc.ecc.
Chi mi corregge lo script?
Avevo pensato di inserire un "filexists" dopo il ritardo in modo da creare una condizione continua e senza interruzioni ma mi sono incasinato con IF e WHILE.
Grazie a tutti e buona programmazione ;)
P.S. Per molti di voi potrebbe essere una cretinata, ma ho iniziato a programmare da pochi mesi, chiedo scusa.:boh:

ndakota
27-06-2010, 20:51
Sleep(2000)
While 1 = 1
If Processexists ("notepad.exe") then
Mousemove (0, 200, 5)
Mousemove (999, 200, 5)
Endif
Wend


Così? Mai usata sta roba. Ma a naso mi pare così quello che vuoi ottenere.

zuper
27-06-2010, 21:28
anche io nn ho mai usato sta roba :D
però scriverei qualcosa del genere

inizio = 0
While 1 = 1
If Processexists ("notepad.exe") then
if inizio = 0 then
Sleep(2000)
Mousemove (0, 200, 5)
Mousemove (999, 200, 5)
inizio = 1
else
Mousemove (0, 200, 5)
Mousemove (999, 200, 5)
Endif

Wend

albeatles95
27-06-2010, 22:12
Sleep(2000)
While 1 = 1
If Processexists ("notepad.exe") then
Mousemove (0, 200, 5)
Mousemove (999, 200, 5)
Endif
Wend


Così? Mai usata sta roba. Ma a naso mi pare così quello che vuoi ottenere.
il ritardo che hai messo all'inizio non viene contato e non so perchè...che vada inserito in un ciclo pure quello?

albeatles95
27-06-2010, 22:15
il ritardo che hai messo all'inizio non viene contato e non so perchè...che vada inserito in un ciclo pure quello?
Come non detto, adesso funziona :D grazie a tutti