Bonjour les gens,
Je ne sais pas encore programmer en C ni C++, mais une petite tâche ludique peut m'y aider
(je programme déjà en php au boulot et surtout pour moi depuis des années, j'ai mangé beaucoup de java et de perl en études avant, et j'ai fais un tit peu de python récemment en apprenant tout seul, ce sont des langages avec une syntaxe très proche donc ca ira)
Je cherchais une méthode pour faire un simple clic de souris automatiquement toutes les x secondes. Je suis tombé sur un bout de code libre permettant de dessiner une croix avec la souris et faire un double-clic, j'ai donc installé un compilateur (mingw), j'ai lu un peu la doc, reussi a en faire un executable, ca marche au poil, je l'ai alors modifié (j'ai viré le dessin de croix et la boite de dialogue, j'ai rajouté une boucle et un temps aleatoire entre les clics), ca marche impécable dans windows (je teste en laissant mon pointeur de souris sur le bouton du menu démarrer de windows, je le vois ainsi s'ouvrir et se fermer), MAIS quand j'ouvre un jeu en plein écran les clics ne se font plus, j'en viens à la question:
A quel "niveau" dans le système les clics de souris sont-ils éffectués par un tel programme ?
Voilà où j'en suis:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #include <windows.h> #include <stdio.h> #include <stdlib.h> #include <time.h> #include <conio.h> #include <iostream> int STDCALL WinMain (HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpCmd, int nShow) { ShowCursor(TRUE); Sleep(60000); srand(time(NULL)); for (int i=0; i<500; ++i) { int nombre = 12000 + (int)((double)rand() / ((double)RAND_MAX + 1) * 15000); mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); //boutton gauche appuyer mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); //boutton gauche relacher Sleep(nombre); } return 0; }
Si je ne peux pas faire un programme qui gère la souris à un niveau assez bas pour qu'une appli sous windows ni voit que du feu, je pense aussi à une méthode qui marchera assurément mais qui est aussi plus contraignante:
- je branche sur mon pc une souris sur port serie
- je trouve le type de signal utilisé sur le port serie lors d'un clic gauche
- je crée un programme qui envoie le bon signal sur son port serie (avec une boucle et un timer, toujours pareil), je le fais tourner sur une autre machine (2 autres dispo, linux et windows), je relie les deux par un cable serie (dispo aussi), logiquement mon pc pensera que c'est une souris qui clique.
Ca me ferait un bon travaux pratique aussi![]()
Partager