Как подделать прикрепленную мышь к виртуальному Windows Server? - PullRequest
1 голос
/ 20 сентября 2019

Я использую библиотеку User32.dll SendInput для перемещения и щелчка мышью.

    [DllImport("user32.dll", SetLastError = true)]
    public static extern UInt32 SendInput(UInt32 numberOfInputs, INPUT[] inputs, Int32 sizeOfInputStructure);

struct INPUT - это большой, но простой контейнер данных моделирования, не релевантный для копирования-вставьте сюда.

Он отлично работает как на рабочем столе с мышью, так и на экземпляре AWS Windows с активным сеансом RDP для этого рабочего стола.

Когда симуляция запускается без активный сеанс RDP, однако, происходит сбой следующим образом:

    System.Exception: Some simulated input commands were not sent successfully. The
    most common reason for this happening are the security features of Windows inclu
    ding User Interface Privacy Isolation (UIPI). Your application can only send com
    mands to applications of the same or lower elevation. Similarly certain commands
    are restricted to Accessibility/UIAutomation applications. Refer to the project
    home page and the code samples for more information.
       at WindowsInput.WindowsInputMessageDispatcher.DispatchInput(INPUT[] inputs)

Обратите внимание, что это не имеет ничего общего с безопасностью.Там просто нет мыши.Мне нужно убедить экземпляр AWS в наличии мыши для перемещения.

Так мне фальсифицировать сеанс RDP?Или подделка мыши?Или можно добавить мышь из приложения?Любой другой путь?

...