通过代码控制鼠标滚轮

时间:2017-11-19 01:23:28

标签: c windows scroll mouse mousewheel

我正在尝试开发滚动文本页面的程序。 我需要通过代码控制鼠标滚轮。我该怎么办?

2 个答案:

答案 0 :(得分:1)

安装pyautogui

pip install pyautogui

样品:

import pyautogui
x = 100
y = 100
pyautogui.click(x, y)

另一个示例:

import pyautogui
pyautogui.moveTo(100, 150)
pyautogui.moveRel(0, 10)  # move mouse 10 pixels down
pyautogui.dragTo(100, 150)
pyautogui.dragRel(0, 10)  # drag mouse 10 pixels down

答案 1 :(得分:0)

您可以使用WINAPI(user32.dll)中的SendInput函数。

<强>伪

UINT ScrollMouse(int scroll)
{
   INPUT input;
   POINT pos;
   GetCursorPos(&pos);

   input.type = INPUT_MOUSE;
   input.mi.dwFlags = MOUSEEVENTF_WHEEL;
   input.mi.time = NULL; //Windows will do the timestamp
   input.mi.mouseData = (DWORD)scroll; //A positive value indicates that the wheel was rotated forward, away from the user; a negative value indicates that the wheel was rotated backward, toward the user. One wheel click is defined as WHEEL_DELTA, which is 120.
   input.mi.dx = pos.x;
   input.mi.dy = pos.y;
   input.mi.dwExtraInfo = GetMessageExtraInfo();

   return SendInput(1, &input, sizeof(INPUT));
}