Equivalent C# à Robot en Java [Résolu]

cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 28 avril 2005 à 10:09 - Dernière réponse : cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention
- 29 avril 2005 à 12:57
Bonjour,
Y'a t'il un équivalent en C# de la class Robot de java?

Cette class Robot permet entre autre de pouvoir faire bouger la souris à l'écran (en dehors de l'application) et d'exécuter un clique à cet endroit. (Je pourrais pas exemple simuler un clique sur bouton d'un autre programme via mon programme par exemple).

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 28 avril 2005 à 20:36
3
Merci
Bon alors en fait je connaissais déjà la solution pour l'avoir donnée il y a 2 mois environ, mais je préfèrais te laisser chercher un peu avant.
Hein ? Trou de mémoire ? Meuh non
(389913 http://www.csharpfr.com/forum.v2.aspx?ID=389913)

Dans le cas qui nous interesse ça donne (vite fait, je te laisse adapter comme il faut derriere) :

APIs :
#region API: methodes

[DllImport("user32.dll")]
private static extern int SendInput(
int nInputs,
ref INPUT pInputs,
int cbSize
);

[DllImport("user32.dll")]
private static extern IntPtr GetMessageExtraInfo();

#endregion

#region API: constantes

private const uint INPUT_MOUSE = 0;
private const uint MOUSEEVENTF_LEFTDOWN = 0x0002;
private const uint MOUSEEVENTF_LEFTUP = 0x0004;

#endregion

#region API: structures

[StructLayout(LayoutKind.Explicit)]
private struct INPUT
{
[FieldOffset(0)]
public uint type;
[FieldOffset(4)]
public MOUSEINPUT mi;
}

private struct MOUSEINPUT
{
public int dx;
public int dy;
public uint mouseData;
public uint dwFlags;
public uint time;
public IntPtr dwExtraInfo;
}

#endregion

Exemple d'utilisation (ça fait un clic sur mon menu démarrer, wahou :p) : Cursor.Position = new Point(10, 1010);
// clic
INPUT input = new INPUT();
input.type = INPUT_MOUSE;
input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
SendInput(1, ref input, Marshal.SizeOf(input));
input.mi.dwFlags = MOUSEEVENTF_LEFTUP;
SendInput(1, ref input, Marshal.SizeOf(input));

Cocoricoooooooo !!!!
coq
MVP Visual C#

Merci cs_coq 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cs_coq
cs_neodante 2837 Messages postés lundi 11 août 2003Date d'inscription 16 décembre 2006 Dernière intervention - 28 avril 2005 à 10:27
0
Merci
Salut



J'ai po réussi à trouver la même chose, ce qui est pourtant très sympa ...

Il faut à mon avis utilisé les fonctions systèmes ou utiliser plusieurs classe mais de façon séparé ...

En tout cas pas une telle en tant que telle ...



@+
Commenter la réponse de cs_neodante
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 28 avril 2005 à 10:32
0
Merci
Salut,

Ca pourrait etre interessant en effet.
Sinon pour positionner le curseur il suffit de modifier la valeur de Cursor.Position (ce qui revient à se servir de SetCursorPos)

Cocoricoooooooo !!!!
coq
MVP Visual C#
Commenter la réponse de cs_coq
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 28 avril 2005 à 11:05
0
Merci
Oui, mais moi ce qui m'intéresse, c'est de pouvoir faire le click
Y'a donc pas d'alternative simple, c'est bien dommage !
Merci quand même des réponses...

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Commenter la réponse de cs_Bidou
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 28 avril 2005 à 11:24
0
Merci
Doit bien y avoir ça dans les APIs
Notamment au niveau des hooks on peut modifier l'état "physique" de la souris ou du clavier il me semble.

Cocoricoooooooo !!!!
coq
MVP Visual C#
Commenter la réponse de cs_coq
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 28 avril 2005 à 11:43
0
Merci
Ha faudrait que je jette un oeil, mais je dois avouer que je ne suis pas encore très au point avec ces APIS

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Commenter la réponse de cs_Bidou
cs_neodante 2837 Messages postés lundi 11 août 2003Date d'inscription 16 décembre 2006 Dernière intervention - 28 avril 2005 à 12:07
0
Merci
Salut



Le truc c'est qu'elle n'existe pas réellement et tant que telle,
peut-être qu'un petit dev d'une classe devrait faire l'affaire ...

Parce que outre les clic souris et le clavier et t tout, ce que j'aime
bien dans Robot c'est la capture d'écran ... je sais po si en .NET
c'est aussi simple ???



Sinon fallait pas passer au .NET mais rester en Java !!! ;-) lol Ah moi aussi je suis là ... bon bah on continue en .NET !!! ;-)



@+
Commenter la réponse de cs_neodante
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 28 avril 2005 à 12:22
0
Merci
Pour la capture d'écran il y a bien :
http://www.csharpfr.com/code.aspx?id=18327
http://www.codeproject.com/csharp/Screen_Capturing.asp

ça devrait faire l'affaire :-)

Cocoricoooooooo !!!!
coq
MVP Visual C#
Commenter la réponse de cs_coq
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 28 avril 2005 à 12:36
0
Merci
Y'a pas qqn qui veut créer une class Robot pour C# ??

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Commenter la réponse de cs_Bidou
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 29 avril 2005 à 07:44
0
Merci
T'es un dieu vivant! lol
Je regarde ça dès que j'ai 5min et je te donne des nouvelles (je suis certain que ça va marcher...)

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Commenter la réponse de cs_Bidou
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 29 avril 2005 à 12:29
0
Merci
Ca marche parfaitement, un grand merci coq !

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Commenter la réponse de cs_Bidou
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 29 avril 2005 à 12:57
0
Merci
de rien :-)

Cocoricoooooooo !!!!
coq
MVP Visual C#
Commenter la réponse de cs_coq

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.