部分第一人称游戏mousemove并不能转动屏幕,所以要用到下面这种格式调用DLL来移动:uint为类型不用改动,0x01、0x02为鼠标事件类型(十六进制),事件类型后2个数字分别为距当前点移动的X、Y坐标,移动准星行为基本用这种方法,此段含义为向右移动17个像素并且向下移动6个像素
DllCall("mouse_event", "UInt", 0x01, "UInt", 17, "UInt", 6)
绝对坐标写法(这个挺鸡肋,因为准星转动规则不是按照绝对坐标来实现的,而只是移动鼠标光标的话,MOUSEMOVE就可以胜任):
DllCall("mouse_event",uint,0x8000|0x0001 ,int,114 * 65536 / 1024,int,514 * 65536 / 768,uint,0,int,0) ; 绝对坐标,移动到(114,514)的位置
DllCall("mouse_event", "UInt", 0x01, "UInt", 17, "UInt", 6)
绝对坐标写法(这个挺鸡肋,因为准星转动规则不是按照绝对坐标来实现的,而只是移动鼠标光标的话,MOUSEMOVE就可以胜任):
DllCall("mouse_event",uint,0x8000|0x0001 ,int,114 * 65536 / 1024,int,514 * 65536 / 768,uint,0,int,0) ; 绝对坐标,移动到(114,514)的位置