文档库 最新最全的文档下载
当前位置:文档库 › msdk使用说明书,双头盒子

msdk使用说明书,双头盒子

msdk接口库

使用说明书

感谢您使用北京飞易来科技有限公司的产品和服务!

1.msdk概述

msdk接口库支持UI013_W单头盒子以及UI012_WU双头盒子。

msdk接口库msdk.dll分X86的32位、X64的64位两个版本。

如果有开发经验,可以使用X64的64位msdk.dll,APP只能编译成X64模式,只能在64位windows上执行。

我们推荐使用X86的32位msdk.dll,APP只能编译成x86模式,APP可以在32位、64位windows上执行。

2.双头盒子简介

盒子可以同时模拟USB键盘和鼠标,将从主控机的USB接收来的数据转换为键盘或鼠标格式的数据发给被控机,主控机从而可以控制被控机或在被控机的记事本中将数据显示出来。

将盒子的从USB(无孔一端)接口接到需要控制的被控机上;将串口或主USB(有孔一端)接到主控机上。

双头盒子需要使用usb延长线来连接。

主控机和被控机可以是同一台PC。

2.1.盒子功能、性能

●全速或低速USB HID无驱接口,无需安装驱动、应用软件,即插即用。

●支持windows2000/xp/vista/win7/win8;被控机同时还支持Linux;

●被控机可以是WII、PS2游戏机、虚拟机、安卓平板、PC电脑等只要是

能支持实体键盘鼠标的设备。

?(部分游戏机只支持低速;全速不一定能支持)

●键盘支持全键盘、组合键操作。可以支持6+8个无冲突按键!

?8个控制按键:左/右Ctrl、左/右Shift、左/右Alt、左/右Windows

?6个除了以上8个控制按键外的普通按键

?暂不支持多媒体按键(如音量控制按键等)

●全速盒子:支持每秒300组命令(鼠标或/和按键命令)的输入速度

●低速盒子:支持每秒100组命令(鼠标或/和按键命令)的输入速度

●提供VC/VB/C#/Delphi/易语言/按键精灵/TC语言例程

●每个产品有唯一序列号

●支持修改Vid、Pid(有可支持、不可支持两个版本,购买时请注意区分)

3.单头盒子简介

本盒子只使用一个USB接口,模拟USB键盘和鼠标,同时可以接收主控机的命令。一台电脑需要同时担当主控机和被控机。盒子从主控机接收数据,转换为键盘或鼠标格式的数据发给被控机。

单头盒子使用时,主控机和被控机只能是同一台PC。

盒子可以在虚拟机中使用。

3.1.盒子功能、性能

●全速USB HID无驱接口,无需安装驱动、应用软件,即插即用。

●支持windows2000/xp/vista/win7/win8

●键盘支持全键盘、组合键操作。可以支持6+8个无冲突按键!

?8个控制按键:左/右Ctrl、左/右Shift、左/右Alt、左/右Windows

?6个除了以上8个控制按键外的普通按键

?暂不支持多媒体按键(如音量控制按键等)

●支持每秒300组命令(鼠标或/和按键命令)的输入速度

●提供VC/VB/C#/Delphi/易语言/按键精灵/TC语言例程

●每个产品有唯一序列号

●支持修改Vid、Pid(有可支持、不可支持两个版本,购买时请注意区分)

4.重点说明

●盒子不能保存脚本。脚本必须在电脑上运行。可以在按键精灵里编写脚

本或者用vc/vb/delphi/c#/e/Tc语言编程,脚本还在电脑上运行,给盒子

发命令,盒子就能模拟出相应的按键或鼠标的动作。

●盒子是硬件模拟键盘鼠标,就和实际的键盘鼠标一样,不能支持后台窗

口。

5.接口说明

以下接口中的m_hdl都是指M_Open的返回值。5.1.通用接口说明

接口函数名使用说明

M_Open 打开默认Vid、Pid的端口获取句柄,程序启动后只需打开一次端口就可以

HANDLE WINAPI M_Open(int Nbr)

Nbr是端口号,无论是双头盒子还是单头盒子,都是从1开始,依次为2/3/4...,最大126

一台电脑只插入一个盒子,则端口号始终是1;插入n个盒子,端口分别是1/2/3/4...n

端口和盒子的对应关系,请看“主控机接多个盒子时,打开端口和盒子的对应关系”。

返回非INVALID_HANDLE_VALUE即成功

M_Open_VidPid 打开指定Vid、Pid的单头盒子或者双头盒子的主控端获取句柄HANDLE WINAPI M_Open(int Vid,int Pid)

Vid是厂商标识;Pid是产品标识

单头盒子的默认VID PID是(0xC216,0x0301)

双头盒子主控端的默认VID PID是(0xC216,0x0102)

0x是表示十六进制。某些语言(如按键精灵、易语言)不支持无符号的十六进制数,请先将十六进制数转成十进制数后再调用该接口。

使用该接口,一台电脑只能打开一个设备。如果一台电脑上插入2个或多个同样VID、PID的盒子,该接口只能打开一个。

返回非INVALID_HANDLE_VALUE即成功

以上两种打开方式,在一个程序脚本里,建议只使用其中一种。

M_Close 关闭端口;在程序退出前再关闭端口int WINAPI M_Close(HANDLE m_hdl)返回0:成功;!0:失败

M_GetDevSn 获取设备序列号

M_GetDevSn(HANDLE m_hdl,DWORD*dwp_LenResponse,unsigned char*ucp_Response)

参数说明:

dwp_LenResponse:设备序列号的长度,取值范围0~256。(单位:字节) ucp_Response:设备序列号buf(buf由调用该API的应用程序分配)

返回值说明:

0x0001成功

0xF0E0该设备没有序列号,或者该设备不支持获取序列号

0xFFFF无效的句柄或参数。请检查USB设备是否已插好、该API函数是否支持该设备

M_Delay 延时指定时间time:单位ms

int WINAPI M_M_Delay(int time);

该接口实际上是直接调用系统的Sleep()

程序可以不用该接口,直接用系统的Sleep()

M_DelayRandom 在指定的最小值和最大值之间延时随机时间

int WINAPI M_DelayRandom(int Min_time,int Max_time);

Min_time:最小延时时间;Max_time:最大延时时间(单位:ms)

该接口实际上是直接调用系统的Sleep()

程序可以不用该接口,直接用系统的Sleep()

M_RandDomNbr 在最小值、最大值之间取随机数

int M_RandDomNbr(int Min_V,int Max_V);

该接口实际上是直接调用系统的rand()

程序可以不用该接口,直接用系统的rand()

5.2.键盘接口说明

以下的接口函数,返回值:0=成功;-1=失败

接口函数名使用说明

注意:以下4个接口中的HidKeyCode是USB HID的键盘码,不是Windows的标准键盘码。键盘码详见附录1。

M_KeyPress 单击(按下后立刻弹起)指定按键

int WINAPI M_KeyPress(HANDLE m_hdl,int HidKeyCode,int Nbr); HidKeyCode:键盘码(详见附录1)。

Nbr:按下次数

M_KeyDown 按下指定按键不弹起,如果按下不弹起,可以和其他按键组成组合键int WINAPI M_KeyDown(HANDLE m_hdl,int HidKeyCode); HidKeyCode:键盘码(详见附录1)。

M_KeyUp 弹起指定按键

int WINAPI M_KeyUp(HANDLE m_hdl,int HidKeyCode); HidKeyCode:键盘码(详见附录1)。

M_KeyState 读取按键状态;返回值:0=弹起状态;1:=按下状态

使用该接口,不允许手工操作键盘,否则该接口返回值有可能不正确int WINAPI M_KeyState(HANDLE m_hdl,int HidKeyCode); HidKeyCode:键盘码(详见附录1)。

注意:以下4个接口中的KeyCode是Windows的标准键盘码(可参考附录2的VK键值),易语言和按键精灵可以直接使用它们自带的按键码值(如:A键,按键码值是65)。

M_KeyPress2单击(按下后立刻弹起)指定按键

int WINAPI M_KeyPress2(HANDLE m_hdl,int KeyCode,int Nbr); KeyCode:Windows标准键盘码。

Nbr:按下次数

M_KeyDown2按下指定按键不弹起,如果按下不弹起,可以和其他按键组成组合键int WINAPI M_KeyDown2(HANDLE m_hdl,int KeyCode); KeyCode:Windows标准键盘码。

M_KeyUp2弹起指定按键

int WINAPI M_KeyUp2(HANDLE m_hdl,int KeyCode); KeyCode:Windows标准键盘码。

M_KeyState2读取按键状态;返回值:0=弹起状态;1:=按下状态

使用该接口,不允许手工操作键盘,否则该接口返回值有可能不正确int WINAPI M_KeyState2(HANDLE m_hdl,int KeyCode); KeyCode:Windows标准键盘码。

M_ReleaseAllKey 弹起所有按键。如果出现按键异常,也可以调用该接口恢复。int WINAPI M_ReleaseAllKey(HANDLE m_hdl);

5.3.鼠标接口说明

以下的接口函数,返回值:0=成功;-1=失败

接口函数名使用说明

M_LeftClick 左键单击(按下后立刻弹起)

int WINAPI M_LeftClick(HANDLE m_hdl,int Nbr); Nbr:单击次数

M_LeftDoubleClick 左键双击

int WINAPI M_LeftDoubleClick(HANDLE m_hdl,int Nbr); Nbr:双击次数

M_LeftDown 按下左键不弹起

int WINAPI M_LeftDown(HANDLE m_hdl);

M_LeftUp 弹起左键

int WINAPI M_LeftUp(HANDLE m_hdl);

M_RightClick 右键单击(按下后立刻弹起)

int WINAPI M_RightClick(HANDLE m_hdl,int Nbr); Nbr:单击次数

M_RightDown 按下右键不弹起

int WINAPI M_RightDown(HANDLE m_hdl);

M_RightUp 弹起右键

int WINAPI M_RightUp(HANDLE m_hdl);

M_MiddleClick 中键单击(按下后立刻弹起)

int WINAPI M_MiddleClick(HANDLE m_hdl,int Nbr); Nbr:单击次数

M_MiddleDown 按下中键不弹起

int WINAPI M_MiddleDown(HANDLE m_hdl);

M_MiddleUp 弹起中键

int WINAPI M_MiddleUp(HANDLE m_hdl);

M_ReleaseAllMouse 弹起鼠标的所有按键(包括左键、中键、右键)int WINAPI M_ReleaseAllMouse(HANDLE m_hdl);

M_MouseWheel 滚动鼠标滚轮

int WINAPI M_MouseWheel(HANDLE m_hdl,int Nbr); Nbr:滚动量,为正,向上滚动;为负,向下滚动;

M_ResetMousePos 将鼠标移动到原点(0,0)

int WINAPI M_ResetMousePos(HANDLE m_hdl);

在出现移动出现异常时,可以用该函数将鼠标复位

M_MoveR 从当前位置相对移动鼠标

int WINAPI M_MoveR(HANDLE m_hdl,int x,int y); x:x方向(横轴)的距离(正:向右;负值:向左); y:y方向(纵轴)的距离(正:向下;负值:向上)如果只是本机使用,请使用下面的M_MoveR2

M_MoveTo 移动鼠标到指定坐标

使用该接口请注意:该函数只适合完全由程序控制鼠标移动的应用方式。!!

int WINAPI M_MoveTo(HANDLE m_hdl,int x,int y);

x:x方向(横轴)的坐标;

y:y方向(纵轴)的坐标。

注意:坐标原点(0,0)在屏幕左上角

注意:如果出现过将鼠标移动的距离超过屏幕大小,再次M_MoveTo可能会出现无法正确移动到指定坐标的问题!如果出现该问题,需调用M_ResetMousePos复位

这个接口在第一次调用时,会先移动到原点。以后再调用这个接口,dll会记住每次调用的距离,然后计算需要相对移动的距离。如果在程序运行中,有手工操作鼠标,那dll记住的坐标就不准确了。再调用这个接口移动鼠标,移动的坐标也就不准确。

如果只是本机使用,请使用下面的M_MoveTo2

M_GetCurrMousePos 读取当前鼠标所在坐标

使用该接口请注意:该函数只适合完全由程序控制鼠标移动的应用方式。!!

int WINAPI M_GetCurrMousePos(HANDLE m_hdl,int*x,int*y);

返回的坐标值在x、y中。

注意:该函数不是通过调用windows的API接口来获取被控机的鼠标当前坐标,而是通过监测应用程序调用M_MoveTo来实时调整和记录当前坐标值,所以如果在调用M_MoveTo之外,还手工调整被控机的鼠标,那调用该函数读取到的坐标值将不准确。

注意:该函数必须在执行一次M_MoveTo或M_ResetMousePos函数后才能正确执行!

注意:如果曾经出现过将鼠标移动的距离超过屏幕大小,这里读取到的坐标值有可能是不正确的!如果出现该问题,需调用M_ResetMousePos复位

如果只是本机使用,请使用下面的M_GetCurrMousePos2

注意,以下接口仅适用主控机和被控机是同一台电脑的使用方式(单头盒子;双头盒子的两个USB头都连接到同一台电脑)

以下接口DLL将调用windows操作系统的API来获取当前鼠标位置,计算坐标偏差后,通过相对移动方式移动到目的坐标。DLL将不记录鼠标移动的位置。

M_MoveR2从当前位置相对移动鼠标2

int WINAPI M_MoveR(HANDLE m_hdl,int x,int y);

x:x方向(横轴)的距离(正:向右;负值:向左);

y:y方向(纵轴)的距离(正:向下;负值:向上)

M_MoveTo2移动鼠标到指定坐标2

int WINAPI M_MoveTo(HANDLE m_hdl,int x,int y); x:x方向(横轴)的坐标;

y:y方向(纵轴)的坐标。

注意:坐标原点(0,0)在屏幕左上角

M_GetCurrMousePos2读取当前鼠标所在坐标

int WINAPI M_GetCurrMousePos(int*x,int*y);返回的坐标值在x、y中。

6.关于鼠标移动位置不准确的说明

由于操作系统对鼠标移动进行了优化,导致控制鼠标移动的距离和实际移动距离不相符。需要修改鼠标配置就可以解决这个问题。

以WinXp系统为例,修改方法如下:

开始->设置->控制面板->鼠标->指针选项,然后如下图修改:

7.关于主控机和被控机在同一虚拟机中,鼠标无法控制的问题

如果主控机和被控机都在同一个虚拟机中,有可能无法通过程序控制鼠标的动作。如果出现这种问题,以VirtualBox为例,请点击虚拟机-控制-禁止自动独占鼠标。

8.主控机接多个盒子时,打开端口和盒子的对应关系

8.1.不支持修改Vid、Pid的盒子,只能通过端口区分盒子

如果主控机同时接了多个盒子,打开端口号和盒子插入顺序没有必然的对应关系。为了简化操作,建议采用如下方法来使得端口和盒子之间有必然的对应关系:

1.不要打开任何端口,也不要打开任何和盒子相关的程序。

2.将所有需要操作的盒子都插入到主控机上,将所有盒子都连接到被控机

上。

记住插在主控机上的USB口位置;记住插入的盒子个数。

3.在主控机上打开程序,打开端口1,调用MoveTo命令移动鼠标,查看是

哪个被控机上的鼠标有移动,进而确定对应的盒子,将该盒子所插的USB

口位置标注为1。

打开端口2,按同样方法操作,标注第2个USB口位置。

依次打开所有端口,标注所有插有盒子的USB口位置。

4.至此,端口和盒子的对应关系已经确定。今后操作时,只要插入同样数

量的盒子、插在同样的USB口位置,在插好所有盒子后,再打开程序,

从端口1开始打开各个端口,则端口1打开的就是USB口位置标注为1

的盒子,端口2打开的就是USB口位置标注为2的盒子,以此类推。

即便盒子可能会更换成另外一批新的盒子,即便电脑重启,这个对应关

系也不会改变。

如果出现操作错误,导致打开端口和盒子对应关系错乱,建议关闭程序

后再重新打开程序;如果这样仍没有解决问题,建议把程序关闭,把所

有盒子都拔掉,再重新插上,等10秒后,再打开程序继续操作。

8.2.支持修改Vid、Pid的盒子,可以修改Pid通过Pid区

分盒子

建议将所有盒子的Pid都修改成不同的,使用M_Open_VidPid打开操作,这样就不用考虑上述端口对应的问题。

9.将双头盒子的被控端映射到虚拟机中

以下以VMware和VirtualBox(以下简称Vbox)为例说明如何设置虚拟机。

9.1.VMware虚拟机

9.1.1.先设置虚拟机使能USB

9.1.2.启动虚拟机,进行映射

插上盒子,如果是双头盒子,请用USB延长线将两个USB头都连接到电脑。

启动虚拟机,然后如下图设置映射:虚拟机->可移动设备->USB Composite Device->连接

映射结束后。可以在虚拟机设备管理器中,查看是否增加了一个鼠标和一个键盘。 如果弹出“无法连接到此虚拟机的……”“主机需要输入此设备”的提示框,请找到虚拟机对应的配置文件vmx文件(可以搜索*.vmx找到vmx文件),在设备配置文件.vmx里添加一行

usb.generic.allowLastHID="TRUE"

如果点击连接后,虚拟机里的设备管理器并没有看到新增设备,请打开虚拟机中的设备管理器,选择操作——扫描检测硬件改动。

9.1.3.如果虚拟机无法看到USB COMPOSITE设备

如果在移动设备中没有找到USB Composite Device的设备,也没有其他USB设备,如下图:

请确认以下几点:

1、你的虚拟机是否是买来的?如果是买来的,而你又必须要用这个虚拟机,请联系卖主,让他把USB组件加进去。对于这种虚拟机,请自行找虚拟机的卖家解决映射问题,我们不提供支持!

如果不是必须要用买来的虚拟机,建议下载安装包,重新从头安装一个。

2、盒子所插的USB口是否是USB3.0?USB3.0口里面一般是蓝色的,USB2.0口里面一般是黑色或者白色。如下图:

一些虚拟机不能支持USB3.0口,请将盒子插到USB2.0口上再尝试映射。

9.2.VirtualBox虚拟机

9.2.1.先设置虚拟机使能USB

下图中选择USB1.1或USB2.0都是可以的

9.2.2.启动虚拟机,进行映射

插上盒子,如果是双头盒子,请用USB延长线将两个USB头都连接到电脑。

启动虚拟机,然后如下图设置映射:设备->USB找到对应的设备(当鼠标放上去时,注意看鼠标下方显示的供应商标识和产品标识,双头盒子被控端默认的供应商标识是C216,产品标识是0209),点击就可以映射。

9.2.3.如果设置正确,仍无法映射

请确认以下几点:

1、你的虚拟机是否是买来的?如果是买来的,而你又必须要用这个虚拟机,请联系卖主,让他把USB组件加进去。对于这种虚拟机,请自行找虚拟机的卖家解决映射问题,我们不提供支持!

如果不是必须要用买来的虚拟机,建议下载安装包,重新从头安装一个。

2、盒子所插的USB口是否是USB3.0?USB3.0口里面一般是蓝色的,USB2.0口里面一般是黑色或者白色。如下图:

一些虚拟机不能支持USB3.0口,请将盒子插到USB2.0口上再尝试映射。

9.2.4.如果插入多个盒子,只能成功映射一个或两个

VirtualBox对多个具有相同硬件信息的USB设备映射存在问题,不能分别映射多个盒子到多个虚拟机中。

这个问题只能通过使用可修改Vid、Pid的盒子,将每个盒子的Vid、Pid设置成唯一的,这样就可以将多个盒子分别映射到多个虚拟机中。

而且,通过更改Vid、Pid,还能使用虚拟机的筛选项,在启动虚拟机时,自动映射对应的盒子,省去手工映射的麻烦。请看下一节。

9.3.VirtualBox虚拟机自动映射盒子

用多个双头盒子实现一台主机控制多台虚拟机时,每次重启机器,都需要手工映射虚拟机,过程繁琐。

如果使用可修改Vid、Pid的双头盒子,则可以做到虚拟机启动后自动映射指定盒子,省去映射的繁琐过程,同时主机中的脚本通过M_Open_VidPid接口也很容易就能区分到底操作的是哪个盒子、哪个虚拟机。

这个方法目前只适用于VirtualBox虚拟机,VMware目前还没有,如果您知道如何在VMware中实现,可以联系我们,我们有奖励。

下述方法适用于可修改Vid、Pid的双头盒子,也适用于可修改Vid、Pid的单头盒子。以下仅以可修改Vid、Pid的双头盒子+主机控制虚拟机方式进行说明。

9.3.1.先将每个盒子的Vid、Pid修改成唯一的

为了区分,建议:

1、将所有盒子的主控端Vid都修改成一个值(如C317),被控端Vid也都修改成另一个值(如C318)。

2、而每个盒子的主控端和被控端Pid则都设置成相同的值。如:其中一个盒子的主控端和被控端Pid都是0001(在这个盒子表面可以贴一个标签0001);另一个盒子的的主控端和被控端Pid都是0002(在这个盒子表面可以贴一个标签0002),以此类推。

如上修改后,主机上的脚本使用M_Open_VidPid打开端口时,如果代入的Pid参数是0001,则操作的盒子就是标签为0001的盒子,操作的虚拟机就是0001映射入的虚拟机。下面再说明如何将指定盒子映射到指定虚拟机中。

以上方案供参考,具体方案可以根据需要来定,只要保证每个盒子的Vid+Pid 是唯一的。

9.3.2.设置虚拟机

1.增加筛选器

2.设置筛选器,点击确定

3.设置完成

9.3.3.在启动虚拟机前,请先将需要的盒子都插到电脑上,再

启动虚拟机

如果一台电脑要实现一个主机控制8个虚拟机,则将这8个已经设置好Vid、Pid的盒子都插到电脑上(USB口不够用,请用USB Hub集线器扩展USB口),然后再将已经设置好筛选器的虚拟机逐个启动。虚拟机启动后会自动将指定的盒子被控端映射到虚拟机中。

10.双头盒子支持安卓系统

双头盒子可以实现电脑控制安卓平板/手机:只要将双头盒子的主控端接到电脑上,将被控端接到支持OTG功能的安卓平板/手机上,在电脑上运行脚本就可以。

由于安卓系统的鼠标移动比较特殊,要达到精确移动到指定坐标,脚本要满足以下几个条件:

1.在刚打开句柄或者ResetMousePos后,程序都先将鼠标移动到(0,0),然

后再移动到其他位置。

2.每次移动,X方向或者Y方向都不能大于100。如果需要移动远距离,

可以调用多次来移动,每次移动间隔至少100ms。

3.安卓系统设置中,“语言和输入法”->“指针速度”,要调到中间。

11.技术支持

如果您有开发、使用方面的问题,可随时通过如下任一方式联系我们:电话或短信:183********

公司网站:https://www.wendangku.net/doc/e5185472.html,

技术支持邮箱:support@https://www.wendangku.net/doc/e5185472.html,

淘宝网站:https://www.wendangku.net/doc/e5185472.html,

12.附录1:键盘码

名称

键盘码值

(十进制)

对应实际键盘的按键

Keyboard_a4Keyboard a and A Keyboard_b5Keyboard b and B Keyboard_c6Keyboard c and C Keyboard_d7Keyboard d and D Keyboard_e8Keyboard e and E Keyboard_f9Keyboard f and F Keyboard_g10Keyboard g and G Keyboard_h11Keyboard h and H Keyboard_i12Keyboard i and I Keyboard_j13Keyboard j and J Keyboard_k14Keyboard k and K Keyboard_l15Keyboard l and L Keyboard_m16Keyboard m and M Keyboard_n17Keyboard n and N Keyboard_o18Keyboard o and O Keyboard_p19Keyboard p and P Keyboard_q20Keyboard q and Q Keyboard_r21Keyboard r and R Keyboard_s22Keyboard s and S Keyboard_t23Keyboard t and T Keyboard_u24Keyboard u and U Keyboard_v25Keyboard v and V Keyboard_w26Keyboard w and W Keyboard_x27Keyboard x and X Keyboard_y28Keyboard y and Y Keyboard_z29Keyboard z and Z Keyboard_130Keyboard1and! Keyboard_231Keyboard2and@

Keyboard_332Keyboard3and#

Keyboard_433Keyboard4and$

Keyboard_534Keyboard5and%

Keyboard_635Keyboard6and^

Keyboard_736Keyboard7and&

Keyboard_837Keyboard8and*

Keyboard_938Keyboard9and(

Keyboard_039Keyboard0and)

Keyboard_ENTER40Keyboard ENTER

Keyboard_ESCAPE41Keyboard ESCAPE

Keyboard_Backspace42Keyboard Backspace

Keyboard_Tab43Keyboard Tab

Keyboard_KongGe44Keyboard Spacebar

Keyboard_JianHao45Keyboard-and_(underscore) Keyboard_DengHao46Keyboard=and+

Keyboard_ZuoZhongKuoHao47Keyboard[and{

Keyboard_YouZhongKuoHao48Keyboard]and}

Keyboard_FanXieGang49Keyboard\and|

Keyboard_FenHao51Keyboard;and:

Keyboard_DanYinHao52Keyboard‘and“

Keyboard_BoLangXian53Keyboard`(Grave Accent)and~(Tilde) Keyboard_Douhao54Keyboard,and<

Keyboard_JuHao55Keyboard.and>

Keyboard_XieGang_WenHao56Keyboard/and?

Keyboard_CapsLock57Keyboard Caps Lock

Keyboard_F158Keyboard F1

Keyboard_F259Keyboard F2

Keyboard_F360Keyboard F3

Keyboard_F461Keyboard F4

Keyboard_F562Keyboard F5

Keyboard_F663Keyboard F6

Keyboard_F764Keyboard F7

Keyboard_F865Keyboard F8

Keyboard_F966Keyboard F9

Keyboard_F1067Keyboard F10

Keyboard_F1168Keyboard F11

Keyboard_F1269Keyboard F12

Keyboard_PrintScreen70Keyboard PrintScreen

Keyboard_ScrollLock71Keyboard Scroll Lock

Keyboard_Pause72Keyboard Pause

Keyboard_Insert73Keyboard Insert

Keyboard_Home74Keyboard Home

Keyboard_PageUp75Keyboard PageUp

Keyboard_Delete76Keyboard Delete

Keyboard_End77Keyboard End

Keyboard_PageDown78Keyboard PageDown Keyboard_RightArrow79Keyboard RightArrow Keyboard_LeftArrow80Keyboard LeftArrow Keyboard_DownArrow81Keyboard DownArrow Keyboard_UpArrow82Keyboard UpArrow

Keypad_NumLock83Keypad Num Lock and Clear Keypad_ChuHao84Keypad/

Keypad_ChengHao85Keypad*

Keypad_JianHao86Keypad-

Keypad_JiaHao87Keypad+

Keypad_ENTER88Keypad ENTER

Keypad_1_and_End89Keypad1and End

Keypad_2_and_DownArrow90Keypad2and Down Arrow Keypad_3_and_PageDn91Keypad3and PageDn Keypad_4_and_LeftArrow92Keypad4and Left Arrow Keypad_593Keypad5

Keypad_6_and_RightArrow94Keypad6and Right Arrow Keypad_7_and_Home95Keypad7and Home

Keypad_8_and_UpArrow96Keypad8and Up Arrow Keypad_9_and_PageUp97Keypad9and PageUp Keypad_0_and_Insert98Keypad0and Insert Keypad_Dian_and_Delete99Keypad.and Delete Keyboard_LeftControl224Keyboard Left Ctrl Keyboard_LeftShift225Keyboard Left Shift Keyboard_LeftAlt226Keyboard Left Alt Keyboard_LeftWindows227Keyboard Left Windows Keyboard_RightControl228Keyboard Right Ctrl Keyboard_RightShift229Keyboard Right Shift Keyboard_RightAlt230Keyboard Right Alt Keyboard_RightWindows231Keyboard Right Windows

13.附录2:VK键值

名称VK键盘码值

(十进制)

对应实际键盘上的按键

VK_BACK8Backspace VK_TAB9Tab

VK_RETURN13Enter

VK_SHIFT16Shift

相关文档
相关文档 最新文档