8
votes

Comment définir la position du curseur de la souris à partir d'une application de console en C #?

J'ai trouvé de nombreux articles sur la manière de définir la position de la souris dans un projet de fichiers Windows C # Windows , je veux le faire dans une demande de console. Comment puis-je régler la position absolue de la souris à partir d'une console FIX Console

Merci!

indice: ce n'est pas une console.Setcursorposition, qui ne définit que la position du curseur de texte dans la console.


3 commentaires

Pourquoi votre demande de console doit-elle définir la position du curseur de la souris Windows? C'est une situation assez inhabituelle à dire le moins.


@Cody en toute justice il y a très peu fois vous devez contrôler la souris - ce serait étrange même s'il s'agissait d'une application Windows :)


Comme vous avez la solution, pouvez-vous le partager avec plus de code? J'essaie de faire la même chose mais je ne suis pas très expérimenté avec C #


4 Réponses :


2
votes

Vous pouvez simplement affecter à Curseur.Position .

Toutefois, dans une application de console, vous devez ajouter des références aux assemblages WinForms, car les projets d'application de la console n'incluent pas les références à Winforms par défaut.

Vous devrez ajouter system.windows.forms et system.drawing , ce dernier pour accéder à la classe point . < / p>


7 commentaires

Notez que cela ne fonctionnera que si vous ajoutez d'abord une référence aux bibliothèques System.Windows.Forms sur votre application de console. (Ensuite, les applications de console ne devraient pas jouer avec le curseur Windows en premier lieu ...)


Oh je vois. EDIT: C # ne trouve pas System.Windows.Forms.


@Cody Eh bien, je prenais pour acquis que quiconque utilisait quelque chose dans system.windows.forms y ajouterait une référence!


La question a spécifiquement commencé en disant qu'il avait trouvé de nombreux articles sur la manière de le faire à partir d'une application WinForms, mais je ne savais pas comment le faire à partir d'une application de console. J'ai appris à ne rien prendre pour accordé ici ...


Ajoutez une référence en premier, à partir de la fenêtre du navigateur de fichiers, vous pouvez mettre à l'aide de System.Windows.Forms dans votre classe principale.


Merci tout, je l'ai compris.


@guy Désolé, j'ai mal compris ce que vous avez été coincé.



5
votes

Dans votre application de console, ajoutez une référence à System.Windows.Forms.dll et utilisez les autres techniques que vous avez lues. Le choix de la console vs Windows EXE impacte uniquement l'en-tête PE (et peut-être le modèle de code par défaut, mais vous pouvez pirater de manière triviale); Vous pouvez toujours utiliser le cadre complet dans une console EXE.

La souris que vous souhaitez contrôler est sous Windows, pas la console.


0 commentaires

12
votes

Ceci est un vieux fil, mais pour l'achèvement, il peut être fait de cette façon ... xxx pré>

puis dans la méthode de la position que vous souhaitez par exemple P>

  SetCursorPos(500, 500);


0 commentaires

2
votes

Fixe Petite erreur à Chaz nonwer: xxx pré>

Après cela dans n'importe quelle classe, vous pouvez simplement appeler: p>

Mouse.SetCursorPosition(100, 100);


0 commentaires