gpt4 book ai didi

c# - 用c#水平滚动

转载 作者:行者123 更新时间:2023-12-02 22:43:04 25 4
gpt4 key购买 nike

This link包含有关如何使用位于 user32.dll 中的 mouse_event 函数的有用信息

基于该链接,我知道我可以通过执行以下操作来滚动:

        [DllImport("user32.dll")]
public static extern void mouse_event(int dwFlags, int dx, int dy, int dwData, int dwExtraInfo);


public void Scroll(){
// this will cause a vertical scroll
mouse_event(0x0800, 0, 0, 500, 0);
}

public void Click(){
// this will cause a left mouse click
mouse_event(0x0002, 0, 0, 0, 0);
Thread.Sleep(1);
mouse_event(0x0004, 0, 0, 0, 0);
}

// etc...

无论如何,如果您查看该链接,它不包含 MOUSEEVENTF_HWHEEL 的 int 值。我希望能够使用水平滚动条。如何使用 move_event 来创建水平车轮运动?

最佳答案

如果您查看您提供的同一个链接,您会看到:

Note This function has been superseded. Use SendInput instead.

如果您查看 SendInput 的文档,您会发现可以发送 INPUT 的数组。结构。如果查看 INPUT 的文档,您会发现可以发送键盘 (KEYBDINPUT) 或鼠标输入 (MOUSEINPUT)。

最后,MOUSEINPUT 的文档说你可以使用 MOUSEEVENTF_HWHEEL

Windows Vista: If dwFlags contains MOUSEEVENTF_HWHEEL, then dwData specifies the amount of wheel movement. A positive value indicates that the wheel was rotated to the right; a negative value indicates that the wheel was rotated to the left.

因此,您应该使用SendInput。它有点复杂,但你可以用它来水平滚动。您可以查看 PInvoke page for SendInput得到一个例子。

关于c# - 用c#水平滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10465311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com