Je voudrais comparer mon application pour la reconnaissance des symboles mathématiques manuscrits avec le tableau de saisie mathématique (MIP) contenu dans Windows 7. J'ai une bibliothèque de traits de souris enregistrés représentant différents mathématiques formules et je dois les envoyer au MIP pour mesurer sa performance.Simulation du déplacement de la souris dans le panneau de saisie mathématique (Windows 7)
J'ai essayé de simuler le déplacement de la souris mais cela ne fonctionne pas.
Voici les constantes et les méthodes importées que j'utilise:
const UInt32 MOUSEEVENTF_LEFTDOWN = 0x0002;
const UInt32 MOUSEEVENTF_LEFTUP = 0x0004;
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool SetForegroundWindow(IntPtr hWnd);
[DllImport("user32.dll")]
static extern void mouse_event(UInt32 dwFlags, UInt32 dx, UInt32 dy, UInt32 dwData, UIntPtr dwExtraInfo);
Et c'est le code lui-même:
IntPtr windowHandle = FindWindow("MathInput_Window", "");
SetForegroundWindow(windowHandle);
Cursor.Position = new Point(600, 700);
mouse_event(MOUSEEVENTF_LEFTDOWN, 600, 700, 0, UIntPtr.Zero);
for (int x = 600; x <= 650; x++)
{
Cursor.Position = new Point(x, 700);
}
for (int y = 700; y <= 750; y++)
{
Cursor.Position = new Point(650, y);
}
mouse_event(MOUSEEVENTF_LEFTUP, 650, 750, 0, UIntPtr.Zero);
Mais la seule chose que je reçois est un seul point à la position [600700] . Le plus drôle est que lorsque j'utilise MSPaint au lieu de MIP, tout fonctionne parfaitement.
Quelqu'un at-il une idée de la façon dont il pourrait être résolu?