Table of Contents

HKMGetCursorPos2 获得鼠标坐标

功能

获得鼠标在系统中的坐标。功能与HKMGetCursorPos完全相同,只是为了解决部分语言不支持参数传址的问题。

参数

  • 参数1: 设备对象:无类型指针。使用HKMOpen可以创建它。

返回值

无符号32位整型数,低16位是横坐标,高16位是纵坐标

C#例子

uint dwDevId;
IntPtr lpDev;
uint dwPos;
int x, y;
dwDevId = SkmCore.HKMSearchDevice(0x1234, 0xABCD, 0);
if (dwDevId == 0xFFFFFFFF)
{
    Console.WriteLine("未找到键鼠模拟器");
    return;
}
lpDev = SkmCore.HKMOpen(dwDevId, 0);
if (lpDev == IntPtr.Zero)
{
    Console.WriteLine("打开键鼠模拟器失败");
    return;
}
dwPos = SkmCore.HKMGetCursorPos2(lpDev);
x = (int)(short)(dwPos & 0xFFFF);
y = (int)(short)(dwPos >> 16);
Console.WriteLine($"鼠标坐标:{x},{y}");
SkmCore.HKMClose(lpDev);

C语言例子

DWORD dwDevId,dwPos;
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;
}
dwPos=HKMGetCursorPos2(lpDev);
printf("鼠标坐标:%d,%d\n",(long)(short)dwPos,(long)(short)(dwPos>>16));
HKMClose(lpDev);