Я пытаюсь смоделировать щелчок и перетащить на Windows 10 Сенсорная клавиатура в окне рукописного ввода с помощью приложения на C #. Я использую следующий код -
class Program
{
[DllImport("user32.dll")]
public static extern bool SetCursorPos(int X, int Y);
static void Main(string[] args)
{
int x = 525;
int y = 1500;
SetCursorPos(x, y);
MouseOperations.MouseEvent(MouseOperations.MouseEventFlags.LeftDown, x, y);
for (int i=0; i<1000; i++)
{
Thread.Sleep(2);
SetCursorPos(++x, y);
}
MouseOperations.MouseEvent(MouseOperations.MouseEventFlags.LeftUp, x, y);
}
}
Код MouseOperations взят из второго ответа здесь . Это прекрасно работает для клика и перетаскивания в MS Paint, и я могу видеть нарисованную линию. Но когда я использую тот же код в рукописном представлении сенсорной клавиатуры Windows 10, он не показывает нарисованную линию, только одну точку. Я пробовал разные времена сна, но он не работает, хотя я вижу, как курсор мыши движется, как и ожидалось - линия не отображается. Я попытался смоделировать простые щелчки в представлении клавиатуры (не в представлении рукописного ввода), и это также, кажется, работает. Как имитировать щелчок мышью и перетаскивать изображение рукописного ввода на клавиатуре? Я надеюсь в конечном итоге использовать этот код для Unity, поэтому я не совсем уверен, хочу ли я создать «приложение UWP», как показывают некоторые онлайн ссылки - кажется, что существует отдельный метод для вставки событий в Приложения UWP.