Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1229 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#] simuler un click souris [résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C#] simuler un click souris [résolu]

n°1805050
psykorps
Posté le 27-10-2008 à 16:50:13  profilanswer
 

bonjour,
 
je suis en train de développer un 'AutoFire' pour la souris dont le but est que si j'appuis sur la touche ALT du clavier, on rentre dans une boucle qui 'click' 15 fois pas secondes, de la, a nous de pointer ou il faut !
 
J'ai cherché sur la toile comment on pourrait 'simuler' un click gauche de la souris dans une boucle while à partir d'une instruction mais en vain...
 
je compte sur votre expérience pour m'éclairer !   merci d'avance !!


Message édité par psykorps le 29-10-2008 à 16:04:03
mood
Publicité
Posté le 27-10-2008 à 16:50:13  profilanswer
 

n°1805110
moi23372
Posté le 27-10-2008 à 19:17:10  profilanswer
 

je crois qu'il y a un "this.InvokeOnClick(...)" sur les objets de type form ou control.


---------------
quand un homme raisonne mal c'est qu'il n'a pas les données pour raisonner mieux (diderot)
n°1805117
psykorps
Posté le 27-10-2008 à 19:28:34  profilanswer
 

dacord merci beaucoup pour ta réponse, je vais essayer ca !

n°1805161
psykorps
Posté le 27-10-2008 à 20:39:18  profilanswer
 

Cela ne marche pas, cette fonction sert a effectuer l'abonnement OnClick sur un control.
peut-etre doit on passer par un hook?

n°1805435
moi23372
Posté le 28-10-2008 à 13:31:19  profilanswer
 

non il déclenche bien l'évènement click sur le contrôle. L'abonnement à l'évènement ne se fait pas du tout comme cela.  
 
http://msdn.microsoft.com/fr-fr/li [...] click.aspx


---------------
quand un homme raisonne mal c'est qu'il n'a pas les données pour raisonner mieux (diderot)
n°1805492
psykorps
Posté le 28-10-2008 à 14:30:06  profilanswer
 

ah oui effectivement pardon
cependant je ne comprends pas comment cela fonctionne ^^'
je voudrais que ca clique à l'endroit ou il y a la souris à lécran et non déclancher la méthode onClick d'un control

n°1805605
MEI
|DarthPingoo(tm)|
Posté le 28-10-2008 à 17:50:17  profilanswer
 

psykorps a écrit :

ah oui effectivement pardon
cependant je ne comprends pas comment cela fonctionne ^^'
je voudrais que ca clique à l'endroit ou il y a la souris à lécran et non déclancher la méthode onClick d'un control


Faut sortir du vrai C avec un hook sur le pilote c'est tout.
 
Ceci dit tout ça pour cheaté c'est fort.
D'autant plus que c'est pas la rapidité du click qui fait la rapidité du tir du jeu ;)


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
n°1805606
psykorps
Posté le 28-10-2008 à 17:53:16  profilanswer
 

c'est pas pour cheater...non mais didonc ^^
pourais tu m'expliquer comment utiliser un hook et ou le trouver stp??

n°1805608
MEI
|DarthPingoo(tm)|
Posté le 28-10-2008 à 17:56:12  profilanswer
 

http://blogs.msdn.com/toub/archive [...] 89468.aspx  
 
peut etre une piste sans sortir le C ;)


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
n°1805709
psykorps
Posté le 28-10-2008 à 22:59:02  profilanswer
 

Voila j'ai trouvé la solution je vous pose le code en espérant que ca poura en aider plus d'un !  
 

Code :
  1. using System;
  2. using System.Windows.Forms;
  3. using System.Runtime.InteropServices;
  4. public class Form1 : Form
  5. {
  6.    [DllImport("user32.dll",CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)]
  7.    public static extern void mouse_event(long dwFlags, long dx, long dy, long cButtons, long dwExtraInfo);
  8.    private const int MOUSEEVENTF_LEFTDOWN = 0x02;
  9.    private const int MOUSEEVENTF_LEFTUP = 0x04;
  10.    private const int MOUSEEVENTF_RIGHTDOWN = 0x08;
  11.    private const int MOUSEEVENTF_RIGHTUP = 0x10;
  12.    public Form1()
  13.    {
  14.    }
  15.    public void DoMouseClick()
  16.    {
  17.       //simule un clic a la position courante du curseur
  18.       int X = Cursor.Position.X;
  19.       int Y = Cursor.Position.Y;
  20.       mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, X, Y, 0, 0);
  21.    }
  22.    //reste du code de votre application
  23. }


Message édité par psykorps le 28-10-2008 à 23:13:36

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#] simuler un click souris [résolu]

 

Sujets relatifs
[C#] Excel : Verification classeur ferméBorland C++ et DBEdit
[Résolu]Faire évoluer une requête SQL[Résolu] Syntaxe : getElementById avec une variable
limitation en largeur de la page sous firefox? [résolu][Resolu] Problème d'include et de connexion à une database avec MDB2
JFileChooser [Résolu]Numéro de lignes - Galère [résolu]
Problème Boost & STLPort sous Mingw (sous wxDev-C++) 
Plus de sujets relatifs à : [C#] simuler un click souris [résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR