gpt4 book ai didi

c++ - keybd_event 表现出奇怪的行为

转载 作者:可可西里 更新时间:2023-11-01 10:46:24 25 4
gpt4 key购买 nike

我正在尝试使用以下代码模拟回车键:

keybd_event(VK_RETURN , 0, 0, 0);
keybd_event(VK_RETURN , 0, KEYEVENTF_KEYUP, 0);

它在我的 32 位 Windows XP 操作系统中运行良好,但是当我在 Windows 8 x64 机器上尝试时,模拟的是空格键而不是回车键。

我应该怎么做才能得到正确的结果?

我也尝试使用如下所示的 SendInput,但我遇到了同样的问题。

void typeKey(short virtualKey)
{

INPUT ip;
ip.type = INPUT_KEYBOARD;
ip.ki.wScan = 0;
ip.ki.time = 0;
ip.ki.dwExtraInfo = 0;
ip.ki.wVk = virtualKey; // virtual-key code for the character
ip.ki.dwFlags = 0;
SendInput(1, &ip, sizeof(INPUT));
ip.ki.dwFlags = KEYEVENTF_KEYUP; // KEYEVENTF_KEYUP for key release
SendInput(1, &ip, sizeof(INPUT));
}

//function call
typeKey(VK_RETURN);

注意:我在 XP 机器上编译一个 32 位可执行文件,并在 Windows 8 上使用相同的可执行文件。

最佳答案

这只是一个有根据的猜测,但您的旧函数使用的参数类型的长度从 x86 到 x64 不等。这可能是个问题。听文档说:

Note This function has been superseded. Use SendInput instead.

关于c++ - keybd_event 表现出奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23380216/

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