Automouse0.9.8 "le robot simulateur de clicks de souris"

Soyez le premier à donner votre avis sur cette source.

Vue 18 361 fois - Téléchargée 2 745 fois

Description

Voici un "robot" simulateur de clicks de souris.

Il fonctionne en mode console .
L'executable est dans les sources dans le repertoire "release" et se nomme "capture.exe".
Compilé avec visual c++6 sous windows xp.
Pour fonctionner corectement on doit regler les parametres d'affichage de windows sur moyenne (16bits)
et avoir un disque dur systeme sur c:.

Ouvertement c'est un robot prevu pour utliser InternetExplorer mais il peut etre parametre pour firefox ou autre.

Le principe de fonctionnement est simple .On enregistre une suite de clicks avec la souris.
Puis lorsque l'on execute le programme il les reproduit .
Automouse est capable de clicker sur un element graphique meme si il a été deplacé.
Il est aussi capable de changer de fenetre active, s'il en existe plusieurs d'ouvertes pour le meme programme.
Il peut executer :

-des clicks gauches simples
-dse clicks gauches doubles
-des clicks droits
-des pagesUp
-des pagesDown
-maximiser une fenetre
-inserer une suite de caracteres coutinus(login,pass...)

L'execution d' AutoMouse se fait en deux etapes :
1: On enregistre "edite" une sequence de clicks
2: On execute la sequence souhaitée

1)Edition d'une sequence d'action de la souris.

Dans le menu on choisi "(1) creer une sequence de clikcs".
On donne un nom simple puis enter.

Un viseur carré apparait esclave du curseur .
On choisi un element graphique au dessus du quel on place le viseur puis on verrouille la position par un appui sur F12.
Avec le pointeur de la souris on choisi l'endroit ou clicker.
On enregistre l'action par les touches:

-"F7" pour un click gauche simple
-"F8" pour un click gauche double
-"F9" pour un click droit

En fait automouse se servira de l'element graphique comme reference et origine pour replacer le curseur avant de produire
une action.
Autres actions enregistrables :

-combinaison de touches "AltGr" et "m" pour enregistrer l'action de maximiser la fenetre qui a le focus
-touche "page up" ou "page down" enregistrent un page up ou un page down dans la sequence.
-touche "inser" efface le viseur pour rentrer une suite de caracteres continu dans la console dos puis enter ,
et le viseur reaparait pour la suite.

Astuces:
Pour agrandir le viseur la combinaison de touches"AltGr" et "up".
Pour reduire le viseur la combinaison de touches "AltGr" et "down".
Un appui sur la barre d'espace rafraichi l'ecran en cas d'affichage de plusieurs viseurs.

Toutes les suites actions sont enregistées dans le repertoire "c:/Program Files/Automousex.x.x/Sequences/maSequence".
Sous la forme d'une suite de fichiers bitmap .
Le nom de fichier contien les informations sur l'action a effectuer.

ex: 10_s_1000_test2_-109_-122_100_1000_iexplore.exe_.bmp

Voici les champs dans l'ordre ,qui composent le nom:

10 - numero de l'action ici le numero 10
s - ici pour un simple click gauche
variantes:
"d" pour un double click gauche
"D" pour un click droit
"m" pour maximiser la fenetre qui a le focus
"p" pour saisir au clavier "le label"
"h" pour un page up
"l" pour un page down
"e" pour un saut vers la fin de sequence
"j" pour un saut vers la prochaine action qui a le meme "label"

1000 -temps d'attente en millisecondes avant de passer a la prochaine
test2 -label (nom de l'action)
-109 -coordonne en x pour replacer le curseur
-122 -coordonne en y pour replacer le curseur
100 -tolerence de couleur (plus c'est petit plus la recherche est precise)
1000 -somme des tolerences maximum (toujours plus grand que la tolerence de couleur)
iexplore.exe -nom du processus proprietaire de la fenetre
.bmp -pour indiquer que c'est un bitmap

Pour affiner les reglages, il est possible de modifier le nom du fichier a la main.

Pour modifier certains reglages en dure ;pour les futurs editions de sequences;il faut modifier le fichier /Automousex.x.x/Automouse.conf

exemple:

tempo=1000
maxErrors=20
levelErrorMax=2
passMax=2
errorAreaMax=100
errorSumDefault=1000
m_browserProcess=iexplore.exe
end

Vous reconnetrez les valeurs du nom de fichier.

Pour finir l'edition de sequence un appui sur "Esc".

(2) Pour l'execussion d'une sequence :
-Demarrer Automouse
-Dans le menu choisir (2)-pour lancer une sequence
-choisir le numero de la sequence puis "entrée"

Le comportement de l'execution peut parraitre lent et deroutant.
Automouse va faire des capture d'ecran ; espacees de 2 secondes en cas d'echec ; pour y retrouver l'element graphique adequate .Puis executer l'action demandee.
En detail pour une action.
Automouse va faire un nombre ; equivalant a "maxErrors" ; de captures d'ecran pour y chercher l'element graphique .
Si il trouve il execute l'action .Sinon il essaye de trouver l'element graphique suivant .
Si il trouve il execute l'action.Sinon il essaye d'ouvrir ; si elle existe ; une fenetre corespondant au meme processus.
Si il trouve une autre fenetre il l'ouvre .Puis essaye d'executer la premiere action sinon la deuxieme.
L'execution s'arrete quand toute les fenetres ont ete fouillees.
Toutes les recherches qui finissent en echec,produisent une capture d'ecran et de l'element graphique recheche dans le repertoire
"c:/Program Files/Automousex.x.x/Errors".
Une fois l'execution finie un fichier AutoMouse.log est cree dans le repertoire "c:/Program Files/Automousex.x.x"
(3)Dans le menu le mode "Auto":
Permet d'executer toutes les sequences a la suite placees dans le repertoire "c:/ProgramFiles/AutomouseX.X/Auto"

Le reste a vous de decouvrir!

Plus j'avance et plus je me rend compte qu'il faudra une interface graphique un jour.
C'est quand meme un logiciel qui demande un certain temps d'adaptation .
Surtout pour choisir des elements graphique de qualite suffisante pour etre utilisable .
Par qualite je dis :
-element graphique unique dans l'ecran
-place judicieusement si posible en bas a gauche de l'ecran
-avec un maximum de couleurs et de contraste

Aujourd'hui je me sert d'Automouse pour jouer au loto sur internet.
Il se connecte et remplit les grilles a ma place.

Source / Exemple :


#if !defined(AFX_SOURIS_H__DFA04D75_3989_4111_A893_6D469F63BAC2__INCLUDED_)
#define AFX_SOURIS_H__DFA04D75_3989_4111_A893_6D469F63BAC2__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "windows.h"

class Souris  
{
public:
	bool leftClick(int milliSecondes=1);	    //simule un simple click gauche
	bool leftDoubleClick(int millisecondes=100);//simule un double click gauche;

	bool rightClick(int milliSecondes=1);       //simule un simple click droit
	
	bool move(int x,int y);				        //deplace la souris a la position x,y	
		
	int y();						       	    //retourne la position de la souris en x
	int x();						        	//retourne la position de la souris en y

	
	Souris();
	virtual ~Souris();

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

DeAtHCrAsH
Messages postés
2674
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
-
Bien penser à nettoyer les dossiers du zip pour ne pas livrer des fichiers inutiles (*.ncb, *.opt, *.plg, *.ilk, *.obj, *.idb, *.pch).
Ne livrer que la version release+source, version debug inutile aussi.
Neo_Ryu
Messages postés
21
Date d'inscription
mercredi 14 janvier 2004
Statut
Membre
Dernière intervention
6 juin 2011
-
Projet intéressant, même si son utilisation est restreinte dans un premier temps, cela pourrai être utile une fois la possibilité de sauvegarder/charger une séquence, en plus du prochain système intelligent que tu prévois. Bon courage je repasserai pour voir l'avancée ^^
psychosays
Messages postés
1
Date d'inscription
vendredi 18 septembre 2009
Statut
Membre
Dernière intervention
18 septembre 2009
-
bonjour je cherche le même type de programme qui mémorise clique droit,gauche et certaine touche clavier mais ayan un interval aléatoire (entre 5 et 20 seconde) entre chaque clique reproduit.
Quelqu'un peut m'aider pls (je debut en prog, jsui pur novice)
De plus je n'arrive pas a faire fonctionner cette version je telecharge le zip mais ne peut l'executer peut tu m'expliquer comment faire ?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.