【问题标题】:virtual keyboard ctrl button虚拟键盘 ctrl 按钮
【发布时间】:2018-07-31 19:25:24
【问题描述】:

我想问为什么要把我的 CTRL 按钮堆叠在虚拟键盘上。我正在使用 C# 代码: keybd_event(ctrl, 0, KEYEVENTF_EXTENDEDKEY, 0);

 keybd_event(A, 0, KEYEVENTF_EXTENDEDKEY, 0);
    Task.Delay(TimeSpan.FromMilliseconds(100)).Wait();
    keybd_event(ctrl, 0, KEYEVENTF_KEYUP, 0);
    keybd_event(A, 0, KEYEVENTF_KEYUP, 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按钮。

【问题讨论】:

    标签: keyboard virtual


    【解决方案1】:

    尝试使用 0x0003 作为 ctrl/shift/alt 的 keyup 标志

    【讨论】:

    • 好吧,基本上他正在使用 public const int KEYEVENTF_KEYUP = 0x0002;作为keyup标志..所以键盘有两个Ctrls,Shifts和Alts,就在昨晚我试图将shift添加到我的虚拟键盘但是0x0002它无法释放所以我尝试0x0003作为keyup标志并且它工作..基本上将 0x0003 用于 Ctrl、Shift 和 Alt 按键标志,因为这些按钮在普通键盘中是 x2 并且 0x0001 和 0x0002 标志指向左/右键,而 0x0003 释放它们
    猜你喜欢
    • 2010-12-31
    • 2023-03-10
    • 2012-07-21
    • 1970-01-01
    • 2014-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多