mouse函数,mousemove函数怎么绑定

http://www.itjxue.com  2023-01-20 00:50  来源:未知  点击次数: 

自动点击鼠标左键的函数 是什么呀??

你说的是APL吧?BOOL SetCursorPos(

int X, // horizontal position

int Y // vertical position

);

设置鼠标位置。鼠标指针在屏幕像素坐标系统中的X,Y位置 这个函数是用来设置Mouse位置的。可以用这个函数来移动mouse在屏幕上的移动。另外一个函数功能比较强,即mouse_event()VOID mouse_event(

DWORD dwFlags,

DWORD dx,

DWORD dy,

DWORD dwData,

DWORD dwExtraInfo

);设置mouse状态。参数说明如下:

dwFlags Long,下述标志的一个组合 :

MOUSEEVENTF_ABSOLUTE dx和dy指定鼠标坐标系统中的一个绝对位置。在鼠标坐标系统中,屏幕在水平和垂直方向上均匀分割成65535×65535个单元

MOUSEEVENTF_MOVE 移动鼠标

MOUSEEVENTF_LEFTDOWN 模拟鼠标左键按下

MOUSEEVENTF_LEFTUP 模拟鼠标左键抬起

MOUSEEVENTF_RIGHTDOWN 模拟鼠标右键按下

MOUSEEVENTF_RIGHTUP 模拟鼠标右键按下

MOUSEEVENTF_MIDDLEDOWN 模拟鼠标中键按下

MOUSEEVENTF_MIDDLEUP 模拟鼠标中键按下

dx 根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定水平方向的绝对位置或相对运动

dy 根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定垂直方向的绝对位置或相对运动

dwData amount of wheel movement

dwExtraInfo,通常未用的一个值。用GetMessageExtraInfo函数可取得这个值。可用的值取决于特定的驱动程序。例如:将mouse移动到坐标(450,100) 可用函数:SetCursorPos(450,100) ; 或

mouse_event(MOUSEEVENTF_MOVE ,0,450,100,GetMessageExtraInfo()); 来实现实现鼠标单击:

mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,GetMessageExtraInfo());

mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,GetMessageExtraInfo ()); 我也是正在研究中~~~~~~希望对你有帮助

mouse_event

两者都有

鼠标按下或抬起: 即单击一次鼠标

mouse_event

函数功能:该函数综合鼠标击键和鼠标动作。

函数原型:VOID mouse_event(DWORD dwFlags,DWORD dx,DWORD dwFlags,OWORD dx,DWORD dy, DWORD dwData, DWORD dwExtralnfo);

参数:

dwFlags:标志位集,指定点击按钮和鼠标动作的多种情况。此参数里的各位可以是下列值的任何合理组合:

MOOSE_EVENTF_ABSOLOTE:表明参数dX,dy含有规范化的绝对坐标。如果不设置此位,参数含有相对数据:相对于上次位置的改动位置。此标志可被设置,也可不设置,不管鼠标的类型或与系统相连的类似于鼠标的设备的类型如何。要得到关于相对鼠标动作的信息,参见下面备注部分。

MOOSEEVENTFMOVE:表明发生移动。

M00SEEVENTF_LEFTDOWN:表明接按下鼠标左键。

M00SEEVENTF_LEFTUP:表明松开鼠标左键。

MOOSEEVENTF_RIGHTDOWN:表明按下鼠标右键。

MOOSEEVENTF_RIGHTUP:表明松开鼠标右键。

MOOSEEVENTF_MIDDLEDOWN:表明按下鼠标中键。

MOOSEEVENTF_MIDDLEUP:表明松开鼠标中键。

MOOSEEVENTF_WHEEL:在Windows NT中如果鼠标有一个轮,表明鼠标轮被移动。移动的数量由dwData给出。

dx:指定鼠标沿x轴的绝对位置或者从上次鼠标事件产生以来移动的数量,依赖于MOOSEEVENTF_ABSOLOTE的设置。给出的绝对数据作为鼠标的实际X坐标;给出的相对数据作为移动的mickeys数。一个mickey表示鼠标移动的数量,表明鼠标已经移动。

dy:指定鼠标沿y轴的绝对位置或者从上次鼠标事件产生以来移动的数量,依赖于MOOSEEVENTF_ABSOLVTE的设置。给出的绝对数据作为鼠标的实际y坐标,给出的相对数据作为移动的mickeys数。

dwData:如果dwFlags为MOOSEEVENTF_WHEEL,则dwData指定鼠标轮移动的数量。正值表明鼠标轮向前转动,即远离用户的方向;负值表明鼠标轮向后转动,即朝向用户。一个轮击定义为WHEEL_DELTA,即120。

如果dwFlagsS不是MOOSEEVENTF_WHEEL,则dWData应为零。

dwExtralnfo:指定与鼠标事件相关的附加32位值。应用程序调用函数GetMessgeExtrajnfo来获得此附加信息。

返回值:无。

备注:如果鼠标被移动,用设置MOUSEEVENTF_MOVE来表明,dX和dy保留移动的信息。给出的信息是绝对或相对整数值。

如果指定了MOWSEEVENTF_ABSOLOTE值,则dX和dy含有标准化的绝对坐标,其值在0到65535之间。事件程序将此坐标映射到显示表面。坐标(0,0)映射到显示表面的左上角,(6553,65535)映射到右下角。

如果没指定MOWSEEVENTF_ABSOLOTE,dX和dy表示相对于上次鼠标事件产生的位置(即上次报告的位置)的移动。正值表示鼠标向右(或下)移动;负值表示鼠标向左(或上)移动。

鼠标的相对移动服从鼠标速度和加速度等级的设置,一个最终用户用鼠标控制面板应用程序来设置这些值,应用程序用函数SystemParameterslnfo来取得和设置这些值。

在应用加速时系统对指定相对鼠标移动提供了两个测试。如果指定的沿X轴y轴的距离比第一个鼠标阈值大,并且鼠标的加速等级非零,则操作系统将距离加倍。如果指定的沿X轴或y轴的距离比第二个鼠标阈值大,并且鼠标的加速等级为2,则操作系统将从第一个阈测试得来的距离加倍。这样就允许操作系统将指定鼠标沿X轴或y轴的相对位移加到4倍。

一旦应用了加速,系统用期望的鼠标速度换算合成的值。鼠标速度的范围是从1(最慢)到20(最快),并代表基于鼠标移动的距离指示符移动的数量。缺省值是10,表示对鼠标的移动设有附加的修改。

函数mouse_event需要用的应用程序用来合成鼠标事件。也被应用程序用来取得鼠标位置和鼠标按键状态之外的鼠标信息。例如,如果输入板制造商想将基于画笔的信息传给自己的应用程序,可以写一个直接与输入板硬件通信的动态键接库(DLL),获得附加的信息,并保存到一个队列中。DLL然后调用mouse_event,用标准按键和x/y位置数据,并在参数dwExtralnfo设置排列的附加信息的指针或索引。当应用程序需要附加信息时,调用DLL(连同存贮在dwEXtralnfo中的指针或索引),则DLL返回附加信息。

Windows CE:Windows CE不支持参数 dwFlags取MOOSE EVENTF WHEEL常数。

速查: Windows NT: 3.1及以上版本; Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;输入库:user32.lib。

C语言openCV鼠标选点void on_mouse函数的写法,急!!!!!

Int pointX;

int pointy;//全局

void on_mouse( int event, int x, int y, int flags,void* param)

{

pointX = x;

pointy = y;

...

}

(责任编辑:IT教学网)

更多

推荐java认证文章