VB: 如何在程序中检测Lock键的状态

ZDNet软件频道 时间:2004-06-02 作者:Builder.com |  我要评论()
本文关键词:vb
我们都知道,键盘上有三个Lock键,分别是CapsLock、NumLock和ScrollLock。你可以通过在VB程序使用Windows API的函数来读取这几个键的状态。函数的声明必须包含在使用该函数的程序的模块中
本文译自Builder.com,未经许可请勿转载我们都知道,键盘上有三个Lock键,分别是CapsLock、NumLock和ScrollLock。你可以通过在vb程序使用Windows API的函数来读取这几个键的状态。函数的声明必须包含在使用该函数的程序的模块中,声明如下:

GetKeyState Lib "user32"  (ByVal nVirtKey As Long) As Integer

要想获得某键的状态,需要呼叫GetKeyState函数并传递vb常量:vbKeyCapital、vbKeyNumLock或者 vbKeyScrollLock。如果按键未锁定则函数会返回0,否则会返回1。

这个API函数也不仅限于获取Lock键的值,对于键盘上的任意键,它都可以进行状态探测。如果发送给GetKeyState函数的参数不是Lock键,比如是vbKeyX或vbKeyF6键,则当相应按键抬起时函数会返回0,按下时会返回一个非零值。

通过GetKeyState函数获得的信息具有一定局限性。因为对于非lock键来说,它所返回的只是按键瞬间的状态,对于程序来说并没有太大的实用性。


本文作者:Peter Aitken。自从Visual Basic 1.0版问世以来,Peter Aitken就一直在使用vb编程。他已经编写过很多关于VisualBasic以及其他计算机和编程方面的书籍和杂志文章了。


责任编辑:李宁

欢迎评论投稿

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134