gpt4 book ai didi

delphi - 如何使用 mouse_event(MOUSEEVENTF_WHEEL 模拟向下旋转滚动按钮

转载 作者:行者123 更新时间:2023-12-02 05:25:19 24 4
gpt4 key购买 nike

无论用什么正值代替 100(dwData),都会向上滚动而不是向下滚动。负值显示错误。 D7 帮助(不过我在 XE2 上)说了一些关于负值和 NT 的内容。如果这样的功能对于 XP 来说太旧了,请建议一些替代解决方案。

 procedure TMainform.tmr1Timer(Sender: TObject);
begin
mouse_event(MOUSEEVENTF_WHEEL, 0, 0, 100, 0);
end;

最佳答案

documentation说:

If dwFlags contains MOUSEEVENTF_WHEEL, then dwData specifies the amount of wheel movement. 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.

请注意,我链接到的文档是 MSDN 网站。这是 Windows API 的来源。

因此,使用 WHEEL_DELTA 进行一次向前点击,使用 -WHEEL_DELTA 进行一次向后点击。您需要转换负值:

mouse_event(MOUSEEVENTF_WHEEL, 0, 0, DWORD(-WHEEL_DELTA), 0);

您不一定需要使用车轮增量的倍数。所以也许 DWORD(-100) 就可以了。

最后一点是 SendInput 优于 mouse_event。对您来说可能不是问题,因为您只注入(inject)一个输入事件,但使用 SendInput 是一个需要养成的好习惯。

关于delphi - 如何使用 mouse_event(MOUSEEVENTF_WHEEL 模拟向下旋转滚动按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26888369/

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