Domanda Info sulla creazione di un programma

Stato
Discussione chiusa ad ulteriori risposte.

Mando2

Utente Electrum
28 Settembre 2009
250
37
17
132
Salve, non sono per niente esperto di programmazione però mi servirebbe creare un bot che clicchi da solo dove voglio io, ogni tot di tempo (se possibile mi piacerebbe che variasse quasi sempre).

Con che programma sarebbe più facile crearlo?
Vi ringrazio per le risposte :)
P.S spero che la sezione sia giusta >_<
 
  • Mi piace
Reazioni: Valley
Banale. Comunque i programmi non si creano con programmi, ma con linguaggi di programmazione. Quindi riformulo per te la tua domanda: Con quale linguaggio di programmazione sarebbe più facile crearlo?
Se ciò che vuoi è semplicemente automatizzare il movimento del mouse, sicuramente il linguaggio più semplice è AutoIT. Però, mentre il bot è in funzione non puoi utilizzare il computer. Se vuoi che venga fatto in background (ovvero che il programma "clicki" ma ti permetta sempre di utilizzare il pc) meglio un 'vero' linguaggio (Visual Basic, C#, C++, C, ecc.) piuttosto che l'AutoIT.
Altri linguaggi di scripting per l'automazione come l'AutoIT sono AutoHotKey e ACTool.
Ripeto, se vuoi qualcosa in background, meglio altri linguaggi: Visual Basic, C#, C++, C, ecc.. Altrimenti va bene uno di questi tre: AutoIT, AutoHotKet, ACTool.
 
Ti ringrazio per i chiarimenti :), ho scelto di usare autoit perchè mi sembra che sia il più semplice da imparare data la mia inesperienza in questo campo..
Ho letto una guida qui sul forum nella quale vengono spiegate all'incirca le funzioni di autoit, solo che non c'è un "comando" per far eseguire un' azione (nel mio caso il click del mouse) dopo un tot di tempo, significa che non è possibile farlo?
 
Allora quello che vorrei creare io è un bot che mi fa cliccare con il mouse e, dopo qualche minuto, mi riclicca ancora nello stesso punto oppure in altri punti. Non penso sia difficile farlo cliccare però il problema è inserire appunto un parametro tempo che può essere di 5 minuti precisi oppure può variare da 2 secondi a 10 secondi (per esempio).
 
Ciao, per adesso sta procedendo tutto alla perfezione solo che ho bisogno ancora del tuo aiuto xD
Il "bot" che sto cercando di creare mi serve per aprire delle pagine su internet, ed è impostato in modo molto semplice:
-lo avvio
-parte cliccando sulla pagina
-piccola pausa
-chiude la pagina appena aperta
-pausa
-ricomincia da capo
I problemi che non riesco a risolvere sono 3:
1. per farlo ricominciare da capo devo per forza riscrivere i comandi oppure c'è un modo per farlo ricominciare automaticamente? tenendo conto però che le coordinate di ogni click sono diverse ma si ripetono di 11 in 11 (undici click con coordinate diverse ma il dodicesimo click sarà uguale al primo, il tredicesimo al secondo ecc..).
2. è possibile stoppare il ciclo dopo un determinato numero di volte che si è ripetuto?
3. Esiste un modo per impostare lo Sleep in modo che sia variabile? ad esempio un numero compreso tra 1000 e 5000 millisecondi e non fisso "Sleep(1000)"

Spero di non averti stufato troppo con i miei problemi *__* Se riesci ad aiutarmi diventerai il mio idolo! xD
 
1. per farlo ricominciare da capo devo per forza riscrivere i comandi oppure c'è un modo per farlo ricominciare automaticamente? tenendo conto però che le coordinate di ogni click sono diverse ma si ripetono di 11 in 11 (undici click con coordinate diverse ma il dodicesimo click sarà uguale al primo, il tredicesimo al secondo ecc..).
Usa un ciclo While, dove dentro ci sono 11 ripetizioni (quelle con coordinate diverse). Alla fine ricomincia tutto da capo.
2. è possibile stoppare il ciclo dopo un determinato numero di volte che si è ripetuto?
Ovviamente. Mi pare che in AutoIT il ciclo For non esiste, però è possibile farlo sempre con il While. Usa una variabile "contatore" inizializzata con un valore pari al numero di ripetizioni che devono essere fatte e che ad ogni ripetizione del ciclo viene decrementata e nell'espressione di controllo del While controlli se ha raggiunto lo 0 (Semplicemente con: While $var - Questo perché 0 = False).
3. Esiste un modo per impostare lo Sleep in modo che sia variabile? ad esempio un numero compreso tra 1000 e 5000 millisecondi e non fisso "Sleep(1000)"
Non ricordo come generare valori random (casuali) in AutoIT, ma se cerchi un po' una qualche funzione la trovi. Con questa funzione, genera un numero casuale tra 1000 e 5000 e caricalo in una variabile. A questo punto con Sleep($RandVal) attendi per il tempo desiderato.

Spero tu ci riesca solo con quello che ti ho dato :)
 
Sono riuscito a fare tutto!! :)
Per far ripetere il ciclo ho usato while, per far fermare il while dopo un tot di cicli ho usato un metodo (a mio parere) poco ortodosso :

Codice:
$counter = 4
While $counter > 0
$counter -= 1
WEnd

E per randomizzare lo sleep ho usato Sleep(Random(1000, 5000, 1)) (1 significa che considera solo numeri interi)
Ti ringrazio molto per l'aiuto ;)
 
Stato
Discussione chiusa ad ulteriori risposte.