C# 键盘改键功能

        上一篇有写利用HOOK来做的一个键盘记录器,这次我们来做一个改键功能。

        这个功能有什么用呢?打个比方,假如我键盘某个键坏了,比如回车键(这个键很重要),在没有备用键盘的情况下我们就可以用此功能来暂时顶替下;当然也可以做连击(摁一次等于摁10次)、组合键(只摁A键就实现ABC三个键全摁)或者快捷键之类的功能。

        键盘HOOK工具类在这里就不写了,在上一篇已经写过了,没有做任何改动;这里写下调用的过程。

实现功能:

C# 实现键盘改键功能,Shift键当Enter键使用

开发环境:

开发工具: Visual Studio 2013

.NET Framework版本:4.5

实现代码:

  HookUtil keyHook = new HookUtil();
        private Keys key_old;

        private void btn_save_Click(object sender, EventArgs e)
        {
            keyHook.NoNextKeyCode = key_old;
            keyHook.KeyDownEvent += new KeyEventHandler((s, e1) =>
            {
                if (ConvertKeys(e1.KeyCode) == key_old)
                {
                    SendKeys.Send("{" + textBox2.Text.ToUpper() + "}");
                }
            });
            keyHook.StartHook();
            MessageBox.Show("改键成功");
        }

        private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            key_old = e.KeyCode;
            textBox1.Text = e.KeyCode.ToString();

        }

        private void textBox2_KeyDown(object sender, KeyEventArgs e)
        {
            textBox2.Text = e.KeyCode.ToString().Replace("Return", "Enter");
        }

        private Keys ConvertKeys(Keys key)
        {
            switch (key)
            {
                case Keys.RShiftKey:
                case Keys.LShiftKey:
                    key = Keys.ShiftKey;
                    break;
            }
            return key;
        }

实现效果:

        可能不太能看到效果哈,因为键盘是我自己摁的,你也不知道我摁了那个(但我点完改键后确实是摁的Shift,然后换行了),有兴趣可以自己试试看。

由简入繁,拿来即用

更多精彩,请搜索公众号:Csharp 小记

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值