c#键盘修改

来源:百度知道 编辑:UC知道 时间:2024/05/27 10:39:13
背景:我的4个方向键坏了,但是现在学C#的时候经常要用到方向键,所以想用c#编写个全局键盘修改的小程序。
要求:
1.我准备用小键盘中的 1 2 3 5 改为 4个方向键
2.平常小键盘是正常的,只有按下相应的开关,比如 Scroll Lock 或者Numlock(不知道这个键按了后,小键盘的keydown等事件还是否有效)后才把 那4个键改为方向键。
3.以上的功能要在电脑开启后就在任何地方都有效,不像有的软件只在有的游戏或窗体里有效
当然我只是想问,实现这样的小程序的思想。
a. os340223 同学,要用方向键的游戏多了,DNF,泡泡堂,卡丁车,冒险岛等等一大堆游戏,而我唯独没玩过什么 劲舞团,你想多了吧?
b. 换个键盘固然简单,我有多的键盘,但是我主要是想 写这样一个程序锻炼下自己,有什么不好呢?
c. daqer 多谢,如果没其他答案了的话我就会把分给你的
d. mengdawen,我需要的不是“静态”的改键,用修改注册表的改键软件可以轻松做到,我需要通过一个 开关 来动态的切换,即按下某个键(如 Scroll Lock 键)就切换成方向键,再按次就恢复正常。见第二点要求。

1. 你那个Numlock键不按的话,小键盘是不能用的,这个相当于小键盘的开关...
2. 这个c#程序如何插入其它程序也要好好考虑啦..比较麻烦;
3. 你想这么干的话,最好通过特殊的组合键来激活这个功能,首先在1235按键按下后要屏蔽原按键功能,在编译输出功能,你可以多参考别人的类似例子。

http://hi.baidu.com/cnkarl/blog/item/3cb5185942319bd79d82045a.htmlC# 全局钩子(Hook)实现一键触发多键(按键替换、一键连招)的心得和总结

我不能把代码给你写出来
可以告诉你思路
1.你先查找电脑监控的应用
2.查找键盘的 KEYVALUE值
注意方向键有GAMEKEYVALUE
3.查找一下开启事件
同样 找出Scroll Lock 或者Numlock的KEYVALUE
然后再keyvalue=它们的keyvalue时响应触发事件

调用全局消息钩子,截获键盘事件,然后发送到程序里,改成对应的消息再发出

全局钩子,钩住了然后替换自己的按键 !看你分多我就看能帮你实现不。

简单,只要你把几个键在程序里注册成全局快捷键,当打开程序的时候,调用系统自带的API函数,然后这几个快捷键触发的时候,实现代码就是替换成你要按的键就可以了。