gpt4 book ai didi

c++ - SendInput (C++) 不工作

转载 作者:可可西里 更新时间:2023-11-01 09:57:00 28 4
gpt4 key购买 nike

返回值为 4,我在管理模式下运行 Visual Studio,所以权限应该没问题。我没有看到任何输入。有什么帮助吗?我使用的是 Windows 7 x64。

INPUT input[4];

input[0].type = INPUT_KEYBOARD;
input[0].ki.wVk = 0;
input[0].ki.wScan = 'a';
input[0].ki.dwFlags = KEYEVENTF_SCANCODE;
input[0].ki.time = 0;
input[0].ki.dwExtraInfo = 0;

input[1].type = INPUT_KEYBOARD;
input[1].ki.wVk = 0;
input[1].ki.wScan = 'a';
input[1].ki.dwFlags = KEYEVENTF_KEYUP | KEYEVENTF_SCANCODE;
input[1].ki.time = 0;
input[1].ki.dwExtraInfo = 0;

input[2].type = INPUT_KEYBOARD;
input[2].ki.wVk = 0;
input[2].ki.wScan = 'a';
input[2].ki.dwFlags = KEYEVENTF_SCANCODE;
input[2].ki.time = 0;
input[2].ki.dwExtraInfo = 0;

input[3].type = INPUT_KEYBOARD;
input[3].ki.wVk = 0;
input[3].ki.wScan = 'a';
input[3].ki.dwFlags = KEYEVENTF_KEYUP | KEYEVENTF_SCANCODE;
input[3].ki.time = 0;
input[3].ki.dwExtraInfo = 0;

int retval = SendInput(4, input, sizeof(INPUT));
if(retval > 0)
{
wxLogDebug("SendInput sent %i", retval);
}
else
{
wxLogError("Unable to send input commands. Error is: %i", GetLastError());
}

最佳答案

您需要为每个键发送 KeyDown 和 KeyUp 事件。
要发送 KeyUp 事件,请将 dwFlags 设置为 KEYEVENTF_KEYUP

此外,您需要使用 wVk 而不是 wScan。 (wScan 仅与 KEYEVENTF_UNICODE 一起使用)

关于c++ - SendInput (C++) 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2367521/

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