李红星老师,您好.C#如何实现"取消Shift键的粘键设置"?就是连按Shift键后,就会弹出一个粘键设置的->辅助功能选项,的对话框

Jave.Lin 2008-06-04 12:38:45
李红星老师,您好.

请问...

C#如何实现"取消Shift键的粘键设置"?就是连按Shift键后,就会弹出一个粘键设置的->辅助功能选项,的对话框...怎么才能取消Shift键这个功能

用C#如何实现?
...全文
801 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
北京的雾霾天 2008-06-12
  • 打赏
  • 举报
回复
如果仅是想实现Shift或Ctr按下的功能,可以使用Keybd_event做,但要实现滞键功能我却不知道该用什么方法除了修改注册表。

比如如下的方法是对Shift按键的操作:


[DllImport("user32.dll", EntryPoint = "keybd_event", CharSet = CharSet.Auto, ExactSpelling = true)]
private static extern void Keybd_event(byte vk, byte scan, int flags, int extrainfo);
const int KEYEVENTF_EXTENDEDKEY = 0x1;
const int KEYEVENTF_KEYUP = 0x2;

//按下Shift键
Keybd_event((byte)16, 0x45, KEYEVENTF_EXTENDEDKEY, 0);
//取消按下Shift
Keybd_event((byte)16, 0x45, KEYEVENTF_KEYUP, 0);

上面的两个函数可以分别执行。
Jave.Lin 2008-06-05
  • 打赏
  • 举报
回复
最好不用注销...上面打错了....

不是"最好不用注册",...应该是"最好不用注销"
Jave.Lin 2008-06-05
  • 打赏
  • 举报
回复
我不是问如何电脑的操作啊...

这个我早就会了...

我现在是想要用C Sharp写代码...通过代码运行后...

可以马上生效...

最好不用注册...重启...之类的...

因为我要做一个屏保密码程序...

大家现在应该懂了吧?
fccfcc1234 2008-06-05
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 s330481 的回复:]
写应用程序修改注册表是禁忌吧。。。。。。
[/Quote]
当程序关闭的时候改回来嘛。
就算强制关闭没能改回来再运行一次就改回来了。
北京的雾霾天 2008-06-04
  • 打赏
  • 举报
回复
或者再按Shift5次也可以自动取消。
北京的雾霾天 2008-06-04
  • 打赏
  • 举报
回复
控制面板
辅助功能选项
使用粘滞键(去掉)
s330481 2008-06-04
  • 打赏
  • 举报
回复
写应用程序修改注册表是禁忌吧。。。。。。
fccfcc1234 2008-06-04
  • 打赏
  • 举报
回复
通过设置可以取消粘滞键的快捷键功能的。
至于怎么改。LZ自己去找下吧。我也不知道。应该是改注册表。
Jave.Lin 2008-06-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 s330481 的回复:]
系统捕捉按键事件,if按下Shift键,系统模拟按下另一个按键,此按键根据系统具体情况,自己设置不冲突的。
笨办法,哈哈
[/Quote]

我开始也是和你想法一样...就是虚拟给电脑按其它键...

但是.问题来了...我是用了全局HOOK...

所以Shift键..单单按下,是可以屏蔽的,因为Ctrl+Shift已经验证过不能生效了.

但是.我试过连续按下Shift键五次后,就又会弹出那"粘键设置"...
KissXYL 2008-06-04
  • 打赏
  • 举报
回复
一般这些系统的参数都是修改注册表。
kkun_3yue3 2008-06-04
  • 打赏
  • 举报
回复
第一部分,C#操作注册表
参见
http://www.cnblogs.com/hanfeng/archive/2005/03/03/112246.html

第二部分,打开注册表编辑器,进入Hkey-user
搜索"StickyKeys"
搜到后查看下面的Flags的值
"Flags"="5xx"
注意,上文x为不定的值.
你把5xx改成506.
继续F3搜索,找到后再改成506,全改完注销一次就可以了.
烈火焚身 2008-06-04
  • 打赏
  • 举报
回复
非常关注!!
帮你顶!!
s330481 2008-06-04
  • 打赏
  • 举报
回复
系统捕捉按键事件,if按下Shift键,系统模拟按下另一个按键,此按键根据系统具体情况,自己设置不冲突的。
笨办法,哈哈
yagebu1983 2008-06-04
  • 打赏
  • 举报
回复
非常关注!!
帮你顶!!

110,568

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧