Table of Contents

HKMMoveR 鼠标相对移动

功能

鼠标相对移动。此移动距离是鼠标的物理相对移动,操作系统中默认使用了鼠标加速,所以实际移动距离和屏幕坐标的移动距离不同。而且受系统鼠标加速算法影响,相对移动坐标相同时,鼠标移动的距离也不是固定的。可关闭系统鼠标加速(提高指针精确度)解决鼠标相对移动不准的问题。相关的设置函数有:HKMSetMode

参数

  • 参数1: 设备对象:无类型指针。使用HKMOpen可以创建它。
  • 参数2: X坐标:32位整数,表示相对移动的横坐标。
  • 参数3: Y坐标:32位整数,表示相对移动的纵坐标。

返回值

布尔值。成功返回True,失败返回False。

C#例子

uint dwDevId;
IntPtr lpDev;
dwDevId = SkmCore.HKMSearchDevice(0x1234, 0xABCD, 0);
if (dwDevId == 0xFFFFFFFF)
{
    Console.WriteLine("未找到键鼠模拟器");
    return;
}
lpDev = SkmCore.HKMOpen(dwDevId, 0);
if (lpDev == IntPtr.Zero)
{
    Console.WriteLine("打开键鼠模拟器失败");
    return;
}
SkmCore.HKMMoveR(lpDev, 100, 50);
SkmCore.HKMClose(lpDev);

C语言例子

DWORD dwDevId;
LPVOID lpDev;
dwDevId=HKMSearchDevice(0x1234,0xABCD,0);
if(dwDevId==0xFFFFFFFF)
{
    printf("未找到键鼠模拟器\n");
    return 0;
}
lpDev=HKMOpen(dwDevId,0);
if(lpDev==NULL)
{
    printf("打开键鼠模拟器失败\n");
    return 0;
}
HKMMoveR(lpDev,100,50);
HKMClose(lpDev);