当前位置:首页 > 投稿 > 正文

C 键盘改键功能(使用小键盘及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,然后换行了),有兴趣可以自己试试看。


由简入繁,拿来即用

更多精彩,请持续关注

V:Csharp 小记