Имитация нажатия и перетаскивания на сенсорной клавиатуре Windows 10 - PullRequest
0 голосов
/ 01 июня 2019

Я пытаюсь смоделировать щелчок и перетащить на 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.

...