1、在我的速查表中提供了 VB 下使用的虚拟键盘码,简称 VK,如果对计算机键盘 I/O 比较了解,应该知道键盘上每一个键对应一个扫描码,扫描码是由 OEM 生商制定的,不同厂商生产的键盘同样一个按键的扫描码都有可能出现不一致的情况,为摆脱由于系统设备不一致造成扫描码不一致的情形,通过键盘驱动程序将扫描码映射为统一的虚拟键码表示,如回车键定义为 VK_RETURN,其 16 进制值为 0x0D。 我们是通过程序实现键盘自动输入的,显然我们应该采用 VK 而不是 SCANCODE,原因:一是OEM SCANCODE 可能有区别,二是需要驱动程序映射成 VK. 模拟键盘我们用 Keybd_event
2、这个 api 函数,模拟鼠标按键用 mouse_event 函数。首先介绍一下 Keybd_event 函数。Keybd_event 能触发一个按键事件,也就是说回产生一个 WM_KEYDOWN 或 WM_KEYUP 消息。当然也可以用产生这两个消息来模拟按键,但是没有直接用这个函数方便。Keybd_event 共有四个参数,第一个为按键的虚拟键值,如回车键为 vk_return, tab 键为 vk_tab。第二个参数为扫描码,一般不用设置,用 0 代替就行第三个参数为选项标志,如果为 keydown 则置 0 即可,如果为 keyup 则设成“KEYEVENTF_KEYUP”,第四个参数一
3、般也是置 0 即可。用如下代码即可实现模拟按下键,其中的 XX 表示 XX 键的虚拟键值,在这里也就是各键对应的键码,如A=65keybd_event(65,0,0,0);keybd_event(65,0,KEYEVENTF_KEYUP,0); . 我们先制作一个 STR_KBEVENT VI,把一个字符串转换成一个相应的 VK 数组,然后通过 API发出,产生键盘动作. 制作一个控件,包括常见的键 对每一个可见字符,进行查表,取得相应的码和大小写 转换完毕后调用,送出字符数组,实现键盘的自动输入 实际效果演示:通过,可以非常容易实现键盘操作,比如论坛上有人谈到如何调用 来打印屏幕,看看如何实现