Problème avec SendINPUT

Résolu
ilitman Messages postés 12 Date d'inscription dimanche 30 mars 2003 Statut Membre Dernière intervention 21 août 2007 - 24 févr. 2006 à 15:39
Lutinore Messages postés 3245 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 - 24 févr. 2006 à 17:52
Salut à tous, je vous explique le problème:

je cherche à simuler le clic de la souris en low level, pour cela j'utilise SendINPUT de user32.dll,
en fait à chq fois que j'apelle la méthode clique() si dessous, le programme clique...mais ne relache pas.
J'ai essayé de changer plusieurs fois les 2 constantes (0x001 et 0x002 normallement) et j'arrive à quasiment
tout faire, double-clique, simple clic avec le bouton droit, mais rien à faire avec le gauche !!

Voilà la partie du code concerné:

public class Souris
{
[DllImport("User32.dll", SetLastError=true)]
private static extern int SendInput(int nInputs, ref INPUT pInputs, int cbSize);

public const int MOUSEEVENTF_LEFTDOWN =0x0001;
public const int MOUSEEVENTF_LEFTUP =0x0002; // A lui la faute ?

public struct INPUT
{
public int type;
public MOUSEINPUT mi;
}

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

public void clique()
{
INPUT aInput = new Souris.INPUT();
aInput.type = 0;
aInput.mi.dwFlags = Souris.MOUSEEVENTF_LEFTDOWN;
aInput.mi.dwExtraInfo = 0;
aInput.mi.mouseData = 0;
aInput.mi.time = 0;
Souris.SendInput(1, ref aInput, Marshal.SizeOf(aInput));
aInput.mi.dwFlags = Souris.MOUSEEVENTF_LEFTUP;
Souris.SendInput(1, ref aInput, Marshal.SizeOf(aInput));
}

}

alors là je suis vraiment à court d'idée... si quelqu'un à la solution...
Merci !!

NSV Corp.: 3D world of applications

1 réponse

Lutinore Messages postés 3245 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
24 févr. 2006 à 17:52
Salut,

// winuser.h

#define MOUSEEVENTF_LEFTDOWN 0x0002 /* left button down */
#define MOUSEEVENTF_LEFTUP 0x0004 /* left button up */
3
Rejoignez-nous