# SetMode

名称 | SetMode 设置模式
功能 | 设置无涯键鼠盒子的工作模式，只对当前的设备对象有效。使用Open打开设备后才可以使用它。

参数

参数1　属性：32位整型数。
参数2　模式：32位整型数。

属性 | 属性说明 | 模式 | 模式说明
--- | --- | --- | ---
2 | 鼠标移动的方式，0是仿真相对鼠标移动（默认模式），可通过一个或多个值进行选择，同时选择多个值用或运算进行组合。有关函数：MoveTo、MoveR、MoveR2。鼠标移动模式常用值介绍。 | 1 | 快速移动，只追求鼠标移动速度，不模仿手动操纵鼠标的移动方式。
2 | 绝对鼠标移动，通常物理鼠标只有相对移动，这个是绝对移动，绝对移动只能在主显示器内移动，使用后MoveTo和MoveR2以绝对移动方式进行，需要无涯键鼠盒子开启“绝对鼠标”模式或者“相对鼠标+绝对鼠标”模式。注意：MoveTo没在这里设置绝对鼠标移动也能用相对鼠标实现绝对移动，MoveR2在这里设置绝对鼠标移动后会用绝对鼠标实现相对移动。
4 | 基础移动模式，移动到指定坐标只能在鼠标没使用“提高指针精确度”且“选择指针移动速度”在中间（物理鼠标相对移动坐标和屏幕坐标的比例是1:1），win10的Dpi是100%时使用，移动过程中不会修正其它鼠标移动的影响，优点是速度快些。使用绝对鼠标移动时无效，对MoveR无效。
0 | 变速模式，开始加速，结束减速。使用快速移动时无效。
8 | 匀速模式，无加减速，距离短时会降低速度。使用快速移动时无效，对于MoveTo和MoveR2在绝对鼠标移动和基础移动模式都没使用时无效。
16 | 定速模式，无加减速，距离短时不降低速度。使用快速移动时无效，对于MoveTo和MoveR2在绝对鼠标移动和基础移动模式都没使用时无效。
3 | 鼠标滚轮滚动方式，有关函数：MouseWheel | 0 | 仿真滚动，模仿手动操作鼠标滚轮的方式，速度较慢(默认模式)。
1 | 快速滚动，只追求鼠标滚轮滚动速度，不模仿手动操纵鼠标滚轮的方式。
4 | 输出字符串编码，不同窗口接受的字符串编码不同，选择错了会收到乱码，有关函数：OutputString | 0 | 输出ANSI字符串(默认模式)
1 | 输出UNICODE字符串
2 | 输出ANSI字符串，与模式0的差异是：在输出半角数字、字母和部分字符时，和手动输入一样，速度更快，但更易受键盘或输入法干扰。
3 | 输出UNICODE字符串，与模式1的差异是：在输出半角数字、字母和部分字符时，和手动输入一样，速度更快，但更易受键盘或输入法干扰。
4 | 使用剪贴板粘贴输出字符串。优点是输出字符多时速度更快且不受输入法影响，缺点是会改写剪贴板的内容和不支持虚拟机外操作虚拟机内。

5

键盘鼠标同步方式，同步是等待盒子的数据被电脑硬件接收，但不代表系统已经处理了该数据，有时系统繁忙，电脑硬件接收到数据与系统处理该数据之间有时间差，一般这个时间较短，多数情况不到1毫秒。0是全部同步（默认模式），异步可通过一个或多个值进行选择，同时选择多个值用或运算进行组合。有关函数：KeyPress、KeyDown、KeyUp、LeftClick、RightClick、MiddleClick、XBtn1Click、XBtn2Click、LeftDoubleClick、RightDoubleClick、MiddleDoubleClick、XBtn1DoubleClick、XBtn2DoubleClick、LeftDown、RightDown、MiddleDown、XBtn1Down、XBtn2Down、LeftUp、RightUp、MiddleUp、XBtn1Up、XBtn2Up、MoveRP、MouseWheelP、OutputString

1

键盘异步，不等待键盘动作完成直接返回

2 | 鼠标异步，不等待鼠标动作完成直接返回
6 | 随机延时的概率分布方式。有关函数：DelayRnd、KeyPress、LeftClick、RightClick、MiddleClick、XBtn1Click、XBtn2Click、LeftDoubleClick、RightDoubleClick、MiddleDoubleClick、XBtn1DoubleClick、XBtn2DoubleClick、OutputString | 0 | 延时随机均匀分布，延时值的概率相同(默认模式)
1 | 延时随机偏小分布，延时值越小，概率越高，最大值的概率接近0
7 | 延时方式。有关函数：DelayRnd、KeyPress、LeftClick、RightClick、MiddleClick、XBtn1Click、XBtn2Click、LeftDoubleClick、RightDoubleClick、MiddleDoubleClick、XBtn1DoubleClick、XBtn2DoubleClick、OutputString | 0 | 不处理窗口消息(默认模式)
1 | 处理窗口消息

返回值 | 布尔值。成功返回true，失败返回false。
vbs 例子 | Dim DevId DevId=wyhkm.SearchDevice(&h1234&,&hABCD&,0) If DevId=-1 Then MsgBox "未找到无涯键鼠盒子",4096 wscript.quit End If If Not wyhkm.Open(DevId,0) Then MsgBox "打开无涯键鼠盒子失败",4096 wscript.quit End If wyhkm.SetMode 2,1 wyhkm.Close