win32api之虚拟键盘

在做开发的时候,UI上的一些快捷键可以使用虚拟键来触发。比如:revit二次开发中的快捷键后台触发。

/// <summary>
/// 虚拟键盘.
/// </summary>
/// <author>YangSen</author>
/// <date>2016/12/1</date>
public class VirtualKeyboard
{
    /// <summary>
    /// 模拟按单个按键.
    /// </summary>
    /// <param name="key">The key.</param>
    /// <author>YangSen</author>
    public static void Press(System.Windows.Forms.Keys key)
    {
        Methods.keybd_event((byte)key, 0, 0, 0);
        Methods.keybd_event((byte)key, 0, 2, 0);
    }

    /// <summary>
    /// 模拟按组合键.
    /// </summary>
    /// <param name="key1">The key1.</param>
    /// <param name="key2">The key2.</param>
    /// <author>YangSen</author>
    public static void Press(System.Windows.Forms.Keys key1, System.Windows.Forms.Keys key2)
    {
        Methods.keybd_event((byte)key1, 0, 0, 0);
        Methods.keybd_event((byte)key2, 0, 0, 0);
        Methods.keybd_event((byte)key1, 0, 2, 0);
        Methods.keybd_event((byte)key2, 0, 2, 0);
    }
}
[DllImport("user32.dll", EntryPoint = "keybd_event")]
public static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);

在revit中的用法举例,比如我想在后台出发创建墙的命令,通常的操作是去点击UI,现在用虚拟键盘测试一下:

后台执行便会触发创建墙的命令。

VirtualKeyboard.Press(Keys.W, Keys.A);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值