`
devgis
  • 浏览: 134147 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

C#中窗体屏蔽键盘按键

 
阅读更多

重写Wndproc示例:

static bool flag = false;
protected override void WndProc(ref Message m)
{
switch (m.Msg) {
case 0x0200: //WM_MOUSEMOVE
if (flag)
{
PostMessage(this.Handle, 0x00A1,new IntPtr(2),m.LParam);//这里需要导入 user32.dll
}
break;
case 0x201://WM_LBUTTONDOWN
flag = true;
break;
case 0x202://WM_LBUTTONUP
flag = false;

break;

default:
base.WndProc(ref m);
break;
}

[DllImport("user32.dll", CharSet = CharSet.Unicode)]
public static extern IntPtr PostMessage(IntPtr hwnd, int wMsg, IntPtr wParam, IntPtr lParam);





虚拟键盘代码16进制值 对应键
VK_LBUTTON 01 鼠标左键
VK_RBUTTON 02 鼠标右键
VK_CANCEL 03 用于执行Ctrl+C或Ctrl+Break
VK_MBUTTON 04 鼠标中键
VK_BACK 08 Backspace键
VK_TAB 09 Tab键
VK_CLEAR 0C Clear键
VK_RETURN 0D Enter键
VK_SHIFT 10 Shift键
VK_CONTROL 11 Ctrl键
VK_MENU 12 Arl键
VK_PAUSE 13 Pause键
VK_CAPITAL 14 Capslock键
VK_ESCAPE 1B Ese键
VK_SPACE 20 SpaceBar键
VK_PRIOR 21 PgUp键
VK_NEXT 22 PgDn键
VK_END 23 End键
VK_HOME 24 Home键
VK_LEFT 25 Left Arrow键
VK_UP 26 Up Arrow键
VK_RIGHT 27 Right Arrow键
VK_DOWN 28 Down Arrow键
VK_SELECT 29 Select键
VK_EXECUTE 2B Execute键
VK_SNAPSHOT 2C PrintScreen键
VK_INSERT 2D Ins键
VK_DELECT 2E Del键
VK_HELP 2F Help键
VK_0 30 0键
… … …
VK_9 39 9键
VK_A 41 A键
… … …
VK_Z 5A Z键
VK_NUMAPD0 60 数字板0键
… … …
VK_NUMAPD9 69 数字板9键
VK_MULTIPY 6A 乘号键
VK_ADD 6B 加号键
VK_SEPARATOR 6C Separator键
VK_SUBSTRACT 6D 减号键
VK_DECIMAL 6E小数点键
VK_DIVIDE 6F 除号键
VK_F1 70 F1键
… … …
VK_F24 87 F24键
VK_NUMLOCK 90 NumLock键
VK_SCROLL 91 ScrollLock键

VK_CAPITAL Caps Lock
VK_ESCAPE Esc
VK_SPACE Space
VK_PRIOR Page Up
VK_NEXT Page Down
VK_END End
VK_HOME Home
VK_LEFT 向左方向键
VK_UP
VK_RIGHT
VK_DOWN
VK_DELETE Delete
VK_INSERT Inser
VK_NUMPAD0~VK_NUMPAD9 小键盘上的0-9键
VK_F1-VK_f12 F1-F12键

检测Caps Lock 键:

var
KeyStates:TKeyboardState;

begin

GetKeyboardState(KeyStates);
if Odd(KeyStates[VK_CAPITAL]) then
spBtnA.Caption := 'a'
else
spBtnA.Caption := 'A';

end;


分享到:
评论

相关推荐

    C#获取键盘按键信息(键盘钩子)

    基于C#写的一个键盘钩子,可以屏蔽除(Ctrl + Alt + Delete)以外的所有系统热键,并可以获取当前按键信息(不过这个方面有些bug)。 对于Ctrl+Alt+Delete可以通过二进制流打开taskmgr.exe,让系统误认为它已经运行可以...

    明日科技《C#示例源代码》(5-8)

    实例049 屏蔽鼠标按键 167 实例050 虚拟键盘 172 实例051 设置/屏蔽系统热键 182 实例052 使用键盘控制窗体或控件的移动 189 实例053 多功能键盘 190 第6章 操作系统相关技术 实例054 利用API设置...

    明日科技《C#示例源代码》(9-12)

    实例049 屏蔽鼠标按键 167 实例050 虚拟键盘 172 实例051 设置/屏蔽系统热键 182 实例052 使用键盘控制窗体或控件的移动 189 实例053 多功能键盘 190 第6章 操作系统相关技术 实例054 利用API设置...

    明日科技C#示例源码.part02

    实例049 屏蔽鼠标按键 167 实例050 虚拟键盘 172 实例051 设置/屏蔽系统热键 182 实例052 使用键盘控制窗体或控件的移动 189 实例053 多功能键盘 190 第6章 操作系统相关技术 实例054 利用API设置...

    明日科技C#示例源码.part04

    实例049 屏蔽鼠标按键 167 实例050 虚拟键盘 172 实例051 设置/屏蔽系统热键 182 实例052 使用键盘控制窗体或控件的移动 189 实例053 多功能键盘 190 第6章 操作系统相关技术 实例054 利用API设置...

    明日科技C#示例源码.part03

    实例049 屏蔽鼠标按键 167 实例050 虚拟键盘 172 实例051 设置/屏蔽系统热键 182 实例052 使用键盘控制窗体或控件的移动 189 实例053 多功能键盘 190 第6章 操作系统相关技术 实例054 利用API设置...

    C#示例(配套光盘源码)第五部分

    实例049 屏蔽鼠标按键 167 实例050 虚拟键盘 172 实例051 设置/屏蔽系统热键 182 实例052 使用键盘控制窗体或控件的移动 189 实例053 多功能键盘 190 第6章 操作系统相关技术 实例054 利用API设置桌面...

    C#示例(配套光盘源码)第二部分

    实例049 屏蔽鼠标按键 167 实例050 虚拟键盘 172 实例051 设置/屏蔽系统热键 182 实例052 使用键盘控制窗体或控件的移动 189 实例053 多功能键盘 190 第6章 操作系统相关技术 实例054 利用API设置桌面...

    明日科技C#示例源码

    实例049 屏蔽鼠标按键 167 实例050 虚拟键盘 172 实例051 设置/屏蔽系统热键 182 实例052 使用键盘控制窗体或控件的移动 189 实例053 多功能键盘 190 第6章 操作系统相关技术 实例054 利用...

    C#示例(配套光盘源码)第四部分

    实例049 屏蔽鼠标按键 167 实例050 虚拟键盘 172 实例051 设置/屏蔽系统热键 182 实例052 使用键盘控制窗体或控件的移动 189 实例053 多功能键盘 190 第6章 操作系统相关技术 实例054 利用API设置桌面...

    C#示例(配套光盘源码)第一部分

    实例049 屏蔽鼠标按键 167 实例050 虚拟键盘 172 实例051 设置/屏蔽系统热键 182 实例052 使用键盘控制窗体或控件的移动 189 实例053 多功能键盘 190 第6章 操作系统相关技术 实例054 利用API设置桌面...

    明日科技C#示例源码.part01

    实例049 屏蔽鼠标按键 167 实例050 虚拟键盘 172 实例051 设置/屏蔽系统热键 182 实例052 使用键盘控制窗体或控件的移动 189 实例053 多功能键盘 190 第6章 操作系统相关技术 实例054 利用API设置...

    C#示例(配套光盘源码)第三部分

    实例049 屏蔽鼠标按键 167 实例050 虚拟键盘 172 实例051 设置/屏蔽系统热键 182 实例052 使用键盘控制窗体或控件的移动 189 实例053 多功能键盘 190 第6章 操作系统相关技术 实例054 利用API设置桌面...

    明日科技《C#示例源代码》(17-20)

    实例049 屏蔽鼠标按键 167 实例050 虚拟键盘 172 实例051 设置/屏蔽系统热键 182 实例052 使用键盘控制窗体或控件的移动 189 实例053 多功能键盘 190 第6章 操作系统相关技术 实例054 利用API设置...

    明日科技《C#示例源代码》(13-16)

    实例049 屏蔽鼠标按键 167 实例050 虚拟键盘 172 实例051 设置/屏蔽系统热键 182 实例052 使用键盘控制窗体或控件的移动 189 实例053 多功能键盘 190 第6章 操作系统相关技术 实例054 利用API设置...

    基于C#的系统操作源码_启动项管理器_设置桌片壁纸_CPU内存使用率_显示器控制_虚拟键盘_自定义动画鼠标_屏幕放大镜_动态图标

    屏蔽鼠标按键 屏幕放大镜 设置和屏蔽系统热键 设置鼠标样式 设置系统时间 身份证验证器 鼠标设置器 数字大小写转换器 音乐风景壁纸 用键盘控制窗体的移动 自定义动画鼠标 左右键切换 启动项管理器 设置桌片壁纸 CPU...

    vc++ 应用源码包_1

    VC 利用底层键盘钩子屏蔽任意按键MaskKey 动态链接库实现钩子,然后程序调用。 VC 透明窗口效果的电子标尺源代码 实现了屏幕绘图操作,实现电子标尺数据计算以及显示,有数据库操作保存数据。 VC++ ini文件读写...

    vc++ 应用源码包_6

    VC 利用底层键盘钩子屏蔽任意按键MaskKey 动态链接库实现钩子,然后程序调用。 VC 透明窗口效果的电子标尺源代码 实现了屏幕绘图操作,实现电子标尺数据计算以及显示,有数据库操作保存数据。 VC++ ini文件读写...

Global site tag (gtag.js) - Google Analytics