c# 怎样禁止键盘按键

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 怎样禁止键盘按键相关的知识,希望对你有一定的参考价值。

我想做一个窗体 在这个窗体下 任何按键都失效 包括组合键 任务管理器这样的都需要禁止 除了按下a才能解除 要怎么做 我新手 求助

方法:

1,右击“计算机”,点击“属性”;

2,选择“设备管理器”,找到键盘,右击“禁用”即可关闭。

参考技术A 用winform来做窗体呢?还是浏览器的窗体呢?可以讲一些思路给你:
如果是winform的话,那么你监听窗体的KeyPress事件,有一个全局变量,bool型的,当你按下a的时候,这是这个变量为真,然后所有的按键屏蔽效果都解除了;如果没有按下a,那么这个变量是假的,所有的按键事件发生后,都被你return掉。
如果是浏览器的窗体,那更简单了,使用javascript脚本,捕捉onkeydown事件,原理跟上面的差不多。
具体实现我就不写了,你自己先琢磨琢磨,自己弄出来的,总比看别人写出来的好。
参考技术B 没可能,因为任务管理器是系统里的,你按键是系统接收而不是你说的窗体,如果必须禁止,可以改系统设置里的快捷键,将它改成无,或者在窗体里插入命令禁止除a以外的任何键 参考技术C KeyPress事件
每当键被按下的时候会触发
可以在该事件中进行判断 被按的键是不是所要求的
参考技术D 这个很难可以学习一个委托和勾子这里面可以实现你要的功能。
你可以看一下我也曾提过这个问题,现在有点懂,又不是很懂, 这个涉及到API,比较低层了!
http://zhidao.baidu.com/question/134874565.html

请用Python如何模拟键盘操作

求Python代码实现模拟键盘操作Ctrl+V,其它的按键也可以。

用pywin模块调用win32函数就可以了

import win32api
import win32con
win32api.keybd_event(17,0,0,0) #ctrl键位码是17
win32api.keybd_event(86,0,0,0) #v键位码是86
win32api.keybd_event(86,0,win32con.KEYEVENTF_KEYUP,0) #释放按键
win32api.keybd_event(17,0,win32con.KEYEVENTF_KEYUP,0)

附个键位码表:
字母和数字键 数字小键盘的键 功能键 其它键
键 键码 键 键码 键 键码 键 键码
A 65 0 96 F1 112 Backspace 8
B 66 1 97 F2 113 Tab 9
C 67 2 98 F3 114 Clear 12
D 68 3 99 F4 115 Enter 13
E 69 4 100 F5 116 Shift 16
F 70 5 101 F6 117 Control 17
G 71 6 102 F7 118 Alt 18
H 72 7 103 F8 119 Caps Lock 20
I 73 8 104 F9 120 Esc 27
J 74 9 105 F10 121 Spacebar 32
K 75 * 106 F11 122 Page Up 33
L 76 + 107 F12 123 Page Down 34
M 77 Enter 108 -- -- End 35
N 78 - 109 -- -- Home 36
O 79 . 110 -- -- Left Arrow 37
P 80 / 111 -- -- Up Arrow 38
Q 81 -- -- -- -- Right Arrow 39
R 82 -- -- -- -- Down Arrow 40
S 83 -- -- -- -- Insert 45
T 84 -- -- -- -- Delete 46
U 85 -- -- -- -- Help 47
V 86 -- -- -- -- Num Lock 144
W 87
X 88
Y 89
Z 90
0 48
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
参考技术A 使用SendKeys模块然后
import SendKeys
SendKeys.SendKeys("^V")
参考技术B 使用 pyhook 可以捕捉键盘和鼠标事件

以上是关于c# 怎样禁止键盘按键的主要内容,如果未能解决你的问题,请参考以下文章

c# 键盘 按键事件。

.NET(C#) SendKeys模拟键盘按键不生效使用WinAPI的替代方案

C# DataGridViewButtonColumn 按键的背景色怎样修改?

“printscreen”按键怎样使用?

请用Python如何模拟键盘操作

C# SendKeys 模拟按键输入为啥不能向DNF中模拟,比如在图中放个技能,根本没反应