VB模拟鼠标键盘动作(转)

您所在的位置:网站首页 模拟鼠标键盘动作 VB模拟鼠标键盘动作(转)

VB模拟鼠标键盘动作(转)

2024-07-13 02:20:19| 来源: 网络整理| 查看: 265

VB

模拟鼠标键盘动作

(

2011-03-31 15:16 

来自网址:

 

http://apps.hi.baidu.com/share/detail/16221474 

VB

模拟鼠标键盘动作

 

有些时候,

一些重复性的,

很繁琐的键盘操作总会让人疲惫,

于是就有了用程序来代替人们

按键的方法,

这样可以把很多重复性的键盘操作交给程序来模拟,

省了很多精力,

按键精灵

就是这样的一个软件。

那么我们怎样才能用

VB

来写一个程序,

达到与按键精灵类似的功能

呢?那就让我们来先了解一下

windows

中响应键盘事件的机制。

 

当用户按下键盘上的一个键时,

键盘内的芯片会检测到这个动作,

并把这个信号传送到计算

机。如何区别是哪一个键被按下了呢?键盘上的所有按键都有一个编码,称作键盘扫描码。

当你按下一个键时,

这个键的扫描码就被传给系统。

扫描码是跟具体的硬件相关的,

同一个

键,

在不同键盘上的扫描码有可能不同。

键盘控制器就是将这个扫描码传给计算机,

然后交

给键盘驱动程序。

键盘驱动程序会完成相关的工作,

并把这个扫描码转换为键盘虚拟码。

么是虚拟码呢?因为扫描码与硬件相关,

不具有通用性,

为了统一键盘上所有键的编码,

是就提出了虚拟码概念。

无论什么键盘,

同一个按键的虚拟码总是相同的,

这样程序就可以

识别了。

简单点说,

虚拟码就是我们经常可以看到的像

VK_A,VK_B

这样的常数,

比如键

A

的虚拟码是

65

,写成

16

进制就是

&H41

,注意,人们经常用

16

进制来表示虚拟码。当键盘

驱动程序把扫描码转换为虚拟码后,

会把这个键盘操作的扫描码和虚拟码还有其它信息一起

传递给操作系统。

然后操作系统则会把这些信息封装在一个消息中,

并把这个键盘消息插入

到消息列队。最后,要是不出意外的话,这个键盘消息最终会被送到当前的活动窗口那里,

活动窗口所在的应用程序接收到这个消息后,

就知道键盘上哪个键被按下,

也就可以决定该

作出什么响应给用户了。这个过程可以简单的如下表示:

 

用户按下按键

-----

键盘驱动程序将此事件传递给操作系统

-----

操作系统将键盘事件插入消息

队列

-----

键盘消息被发送到当前活动窗口

 

明白了这个过程,我们就可以编程实现在其中的某个环节来模拟键盘操作了。在

VB

中,

多种方法可以实现键盘模拟,我们就介绍几种比较典型的。

 

1.

局部级模拟

 

 

 

 

 

 

 

 

从上面的流程可以看出,键盘事件是最终被送到活动窗口,然后才引起目标程序响

应的。

那么最直接的模拟方法就是:

直接伪造一个键盘消息发给目标程序。

哈哈,

这实在是

很简单,

windows

提供了几个这样的

API

函数可以实现直接向目标程序发送消息的功能,

用的有

SendMessage

PostMessage

,它们的区别是

PostMessage

函数直接把消息仍给目标

程序就不管了,而

SendMessage

把消息发出去后,还要等待目标程序返回些什么东西才好。

这里要注意的是,模拟键盘消息一定要用

PostMessage

函数才好,用

SendMessage

是不正确

(

因为模拟键盘消息是不需要返回值的,

不然目标程序会没反应

)

切记切记!

PostMessage

函数的

VB

声明如下:

 

Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal 

wMsg As Long, ByVal wParam As Long, lParam As Any) As Long 

参数

hwnd 

是你要发送消息的目标程序上某个控件的句柄,参数

wMsg 

是消息的类型,表

示你要发送什么样的消息,最后

wParam 

lParam 

这两个参数是随消息附加的数据,具体

内容要由消息决定。

 

再来看看

wMsg 

这个参数,要模拟按键就靠这个了。键盘消息常用的有如下几个:

 

WM_KEYDOWN 

 

 

 

 

 

 

 

表示一个普通键被按下

 

WM_KEYUP 

 

 

 

 

 

 

 

 

 

表示一个普通键被释放

 



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭