【发布时间】:2018-03-26 11:22:47
【问题描述】:
给定以下代码
void foo() {
INPUT input{};
input.type = INPUT_MOUSE;
input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
SendInput(1, &input, sizeof(input));
input.mi.dwFlags = MOUSEEVENTF_LEFTUP;
SendInput(1, &input, sizeof(input));
};
在连续调用中将单元素数组传递给SendInput 是否存在错误?文档似乎完全支持这一点。
【问题讨论】:
-
问题可以重命名为“如何使用 SendInput 正确发送一系列输入事件?”因为它本质上就是答案的全部意义所在。
-
@VTT:是的,它可能是。但这不是被问到的问题。被一遍又一遍地问到的问题就是标题中的那个问题。这是reference。
-
对于遇到此类问题并寻求帮助的用户来说,应该更容易找到问题标题。我认为更通用的标题变体会更容易被发现。如果输入序列应该更长,则传递
2或3或4作为第一个参数也可能是一个潜在的错误。所以标题只是通过1太窄了。 -
@VTT:那么他们正在寻找一个不同的问题,而不是这个。
-
@BoltClock 看来这个问题的重点是要涵盖
SendInput滥用的常见 案例,当用户将输入序列发送拆分为多个SendInput调用时。