Keyboard 虚拟键盘ctrl按钮

Keyboard 虚拟键盘ctrl按钮,keyboard,virtual,Keyboard,Virtual,我想问为什么要在虚拟键盘中堆叠我的CTRL按钮。我使用的是C代码: keybd_事件(ctrl,0,KEYEVENTF_EXTENDEDKEY,0) 变数 public const int KEYEVENTF_EXTENDEDKEY = 0x0001; //Key down flag public const int KEYEVENTF_KEYUP = 0x0002; //Key up flag public const int A = 0x41; //A key code public con

我想问为什么要在虚拟键盘中堆叠我的CTRL按钮。我使用的是C代码: keybd_事件(ctrl,0,KEYEVENTF_EXTENDEDKEY,0)

变数

public const int KEYEVENTF_EXTENDEDKEY = 0x0001; //Key down flag
public const int KEYEVENTF_KEYUP = 0x0002; //Key up flag
public const int A = 0x41; //A key code
public const int ctrl = 0xA2; //ctrl key code
当我一直按Ctrl键执行代码时。我按下键盘上的右ctrl键,问题消失了


也许有人知道如何解决这个问题。当执行代码时,CTRL按钮不会按下。

尝试使用0x0003作为CTRL/shift/alt的键控标志。

基本上,他使用的是public const int keyevent fu keyup=0x0002;作为keyup标志。。所以一个键盘有两个CTRL、shift和ALT,就在昨天晚上,我试图将shift添加到我的虚拟键盘上,但使用0x0002它无法释放,所以我尝试将0x0003作为keyup标志,它成功了。。基本上使用0x0003作为Ctrl、Shift和Alt keyup标志,因为这些按钮在普通键盘中是x2,0x0001和0x0002标志指向左/右按钮,而0x0003释放它们
public const int KEYEVENTF_EXTENDEDKEY = 0x0001; //Key down flag
public const int KEYEVENTF_KEYUP = 0x0002; //Key up flag
public const int A = 0x41; //A key code
public const int ctrl = 0xA2; //ctrl key code