我正在尝试创建一款可以模拟键盘和键盘的应用。老鼠。到目前为止,我已Windows.UI.Input.Preview.Injection
向InjectedInputMouseInfo
发送了InputInjector
。
但是我似乎无法生成滚动输入,我所能做的就是移动鼠标并按下它的按钮。有没有办法做到这一点?
答案 0 :(得分:2)
可以使用MouseData
属性。此属性指定鼠标滚轮应滚动多少。然而令人惊讶的是,该属性被定义为uint
,这意味着可以在一个方向上滚动。幸运的是,情况并非如此,如果你只是让负值溢出,它们将导致向右滚动。
InjectedInputMouseInfo info = new InjectedInputMouseInfo();
info.MouseOptions = InjectedInputMouseOptions.Wheel;
unchecked
{
info.MouseData = (uint)-500; //scroll down
}
InputInjector inputInjector = InputInjector.TryCreate();
inputInjector.InjectMouseInput(new[] { info });
需要未经检查的块以避免编译时错误,因为常量-500
无法转换为uint
。您可以通过引入本地int
变量来避免这样做,然后将该变量分配给MouseData
属性而不是常量。
我写了一篇关于输入注入的简短article on my blog,它也描述了滚动。