C# 模拟鼠标滚轮向下滚动

7
我使用以下代码:
private const int MOUSEEVENTF_WHEEL = 0x0800;

public void MouseWheelUp()
{
    mouse_event(MOUSEEVENTF_WHEEL, 0, 0, 120, 0);
}

但如何使它适用于向下滚动呢?

你能添加'mouse_event'的代码或导入吗? - Michal Ciechan
鼠标事件导入:[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint cButtons, UIntPtr dwExtraInfo); - Michal Ciechan
1
请注意,uint 无法分配负值。因此,在使用 Michal 的方法签名时要小心。 - sapbucket
例如:public static extern void mouse_event(int dwFlags, int dx, int dy, int cButtons, IntPtr dwExtraInfo); 可能更适合您。示例用法:mouse_event(MOUSEEVENTF_WHEEL, 0, 0, -120, (IntPtr) 0); - sapbucket
1个回答

9

mouse_event函数

函数签名:

VOID WINAPI mouse_event(
  _In_ DWORD     dwFlags,
  _In_ DWORD     dx,
  _In_ DWORD     dy,
  _In_ DWORD     dwData,
  _In_ ULONG_PTR dwExtraInfo
);

如果dwFlags包含MOUSEEVENTF_WHEEL,那么dwData指定滚轮移动的量。正值表示向前滚动滚轮,远离用户;负值表示向后滚动滚轮,朝向用户。一个滚轮点击被定义为WHEEL_DELTA,它的值是120。
要向下滚动:
mouse_event(MOUSEEVENTF_WHEEL, 0, 0, -120, 0);

1
这已经被取代了,请使用 SendInput - dwb

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接