gpt4 book ai didi

delphi - 如何在 Delphi 中使用 SendInput?

转载 作者:行者123 更新时间:2023-12-03 15:48:53 24 4
gpt4 key购买 nike

我在 Delphi 2009 中使用 Mouse_Event 函数,但 Delphi 文档说该函数已被取代并使用 SendInput 代替。

Delphi SendInput文档定义了语法和参数,但没有示例,也不清楚如何使用该函数。我在网上查了一下,没有找到任何好的 Delphi 示例。

具体来说,我试图模拟鼠标左键向下然后向上。目前我使用 Mouse_Event 执行此操作,如下所示:

    Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);

如何使用 SendInput 执行此操作?

<小时/>

后续:

我最终按照 @David 的建议保留了我的代码。

但我给了@opc0de答案,因为他确实回答了我的问题。但是,我不能保证它是正确的,因为我从未尝试过。

最佳答案

以下是如何模拟左键单击,更多详细信息请访问http://msdn.microsoft.com/en-us/library/ms646310(VS.85).aspx

var
eu: array [0..1] of TInput;
begin
ZeroMemory(@eu,sizeof(eu));
eu[0].Itype := INPUT_MOUSE;
eu[0].mi.dwFlags :=MOUSEEVENTF_LEFTDOWN;
eu[1].Itype := INPUT_MOUSE;
eu[1].mi.dwFlags :=MOUSEEVENTF_LEFTUP;
SendInput(2,eu[0],sizeof(TInput));
end;

这里是模拟右键单击

var
eu: array [0..1] of TInput;
begin
ZeroMemory(@eu,sizeof(eu));
eu[0].Itype := INPUT_MOUSE;
eu[0].mi.dwFlags :=MOUSEEVENTF_RIGHTDOWN;
eu[1].Itype := INPUT_MOUSE;
eu[1].mi.dwFlags :=MOUSEEVENTF_RIGHTUP;
SendInput(2,eu[0],sizeof(TInput));
end;

关于delphi - 如何在 Delphi 中使用 SendInput?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6561551/

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