Windows 使用SendInput时忽略物理键盘状态

Windows 使用SendInput时忽略物理键盘状态,windows,winapi,visual-c++,Windows,Winapi,Visual C++,因此,我目前正在使用SendInput作为键盘模拟的一种方式。我的问题是,要打开模拟,用户必须按住CTRL键(客户机的规范:-()) 我使用了GetAsyncKeyState(VK_CONTROL)来获取CTRL键的状态,这样我就可以计算出切换部分。现在的问题是,由于按下了物理CTRL按钮,所以在使用SendInput函数时不会忽略它。因此,与其模拟c按钮,不如模拟CTRL+c 我想知道SendInput是否有一种方法可以忽略物理键盘按键。这听起来像-有什么用途吗?非常类似。我正在检查。可能是因

因此,我目前正在使用SendInput作为键盘模拟的一种方式。我的问题是,要打开模拟,用户必须按住CTRL键(客户机的规范:-())

我使用了
GetAsyncKeyState(VK_CONTROL)
来获取CTRL键的状态,这样我就可以计算出切换部分。现在的问题是,由于按下了物理CTRL按钮,所以在使用SendInput函数时不会忽略它。因此,与其模拟
c
按钮,不如模拟
CTRL+c


我想知道SendInput是否有一种方法可以忽略物理键盘按键。

这听起来像-有什么用途吗?非常类似。我正在检查。可能是因为措辞(与“压抑”混淆)而漏掉了我的雷达。谢谢。“压抑”听起来合适;-)如果您只是通过按下CTRL键开始输入序列,这是一个问题吗?尝试过了,仍然是一个问题。问题是物理CTRL键被识别,但我希望它被忽略。如果我加入了CTRL-key-down,这只会增加问题,就像我说的,我已经尝试了CTRL-key-up,但没有改变。客户机的规范是,他们需要实际按下CTRL键,所以除了说服他们切换到另一个键(Fn键,或者至少是不会调用其他函数的键,比如SHIFT),我必须处理它。