用VB编写键盘拦截程序_VB.net_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

用VB编写键盘拦截程序

作者:黑客防线网安VB教程基地 来源:黑客防线网安VB教程基地 浏览次数:0

本篇关键词:程序键盘编写一个
黑客防线网安网讯:  我们知道,在一些程序中,有一些快捷方式(如:Shift键最小化、ESC键退出、Ctrl+S存盘、Alt+x退出等等)。以前有一些介绍使用Win32 API可以做到,但过于繁琐,其实VB本身已经给我们提供...

  我们知道在一些程序中有一些快捷方式(如:Shift键最小化、ESC键退出、Ctrl+S存盘、Alt+x退出等等)以前有一些介绍使用Win32 API可以做到,但过于繁琐,其实VB本身已经给我们提供了这个功能

  我们来新建一个窗体Form1,对于键盘操作可以看到有三个事件KeyPress(),KeyDown和KeyUp,下面我对它们分别介绍:

  KeyPress()事件是当用户按下和松开一个 ANSI 键时发生(ANSI是可见ASCII字符1-127)。

  语法

  Private Sub object_KeyPress([index As Integer,]keyascii As Integer)

  KeyPress 事件语法包含下列部分:

   部分 描述

  object 一个对象表达式,其值是“应用于”列表中的一个对象。

  index 一个整数,它用来唯一标识一个在控件数组中的控件(仅有控件数组时才有)。

  keyascii 是返回一个标准数字 ANSI 键代码的整数。Keyascii 通过引用传递,对它进行改变可给对象

  发送一个不同的字符。将 keyascii 改变为 0 时可取消击键,这样一来对象便接收不到字符。

  说明

  具有焦点的对象接收该事件。一个窗体仅在KeyPreview 属性被设置为 True 时才能接收该事件。一个 KeyPress 事件可以引用任何可打印的键盘字符,一个来自标准字母表的字符或少数几个特殊字符之一的字符与 CTRL 键的组合,以及 ENTER 或BACKSPACE键。KeyPress()事件过程在截取 TextBox 或 ComboBox 控件所输入的击键时是非常有用的。它可立即测试击键的有效性或在字符输入时对其进行格式处理。改变 keyascii 参数的值会改变所显示的字符。

  可使用下列表达式将 keyascii 参数转变为一个字符:

  Chr(KeyAscii)

  然后执行字符串操作,并将该字符反译成一个控件可通过该表达式解释的 ANSI 数字:

  KeyAscii = Asc(char)

  在KeyPress()处理不了的功能可以由KeyDown()和KeyUp()事件来处理:

  语法

   Private Sub object_KeyDown([index As Integer,]keycode As Integer, shift As Integer)
  Private Sub object_KeyUp([index As Integer,]keycode As Integer, shift As Integer)

  KeyDown 和 KeyUp 事件包括下列部分:

  部分 描述

  object 一个对象表达式,其值是“应用于”列表中的一个对象。

  index 是一个整数,它用来唯一标识一个在控件数组中的控件(仅有控件数组时才有)。

  keycode 是一个键代码,诸如 vbKeyF1 ( F1 键)或 vbKeyHome ( HOME 键)。

  shift 是在该事件发生时响应 SHIFT ,CTRL 和 ALT 键的状态的一个整数。shift、CTRL、ALT 键在这些位分别对应于值 1、2 和 4。例如:如果 CTRL 和 ALT 这两个键都被按下,则 shift 的值为 6。

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-14661-1.html
网站维护教程更新时间:2012-04-03 01:12:04  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer