Bonjour,
Suite à un appel de code non manager l'erreur suivante survient :
Voici le code qui provoque cette erreur :PInvokeStackImbalance a été détecté
Message: Un appel à la fonction PInvoke 'Library!Library.Mouse::mouse_event' a déséquilibré la pile. Cela peut se produire, car la signature PInvoke managée ne correspond pas à la signature cible non managée. Vérifiez que la convention d'appel et les paramètres de la signature PInvoke correspondent à la signature non managée cible.
Je précise que j'ai déja utilisé cette méthode dans un autre programme (framework 3.5) sans avoir de problème. Dans mon nouveau programme (framework 4.0) l'erreur survient.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 [DllImport("user32.dll")] public static extern void mouse_event(int dwFlags, int dx, int dy, long cButtons, long dwExtraInfo);//dwFlag : int sinon le move ne fonctionne pas public static void MouseClick(Point pt) { mouse_event((byte)MouseEvent.MOUSEEVENTF_LEFTDOWN | (byte)MouseEvent.MOUSEEVENTF_LEFTUP, pt.X, pt.Y, 0, 0); //Genere l'erreur }
Si des personnes ont déja rencontré ce problème ou peuvent m'aiguiller, je les en remercie d'avance.
Partager