C#Win32API模拟鼠标移动和单击事件

电脑杂谈  发布时间:2020-12-03 10:05:04  来源:网络整理

api 模拟鼠标_模拟鼠标点击api_api 模拟鼠标

此功能在user32.dll库文件中。我们可以在系统随附的目录C:\ WINDOWS \ system32(XP系统)中找到该文件。让我们以C#直接调用此文件中的API为例来说明如何执行鼠标操作。首先,在我们的C#中声明引用。如果它是基于From的程序,则在您的From类中写入此声明的位置。

[System.Runtime.InteropServices.DllImport(“ user32”)]

私有静态外部int mouse_event(int dwFlags,int dx,int dy,int cButton,int dwExtraInfo);

参数含义

dwFlags Long,下表中的标志之一或它们的组合

dx,dy Long,根据MOUSEEVENTF_ABSOLUTE标志,指定x和y方向上的绝对位置或相对位置

模拟鼠标点击api_api 模拟鼠标_api 模拟鼠标

cButtons长,不使用

dwExtraInfo Long,未使用

DwFlags常量含义

const int MOUSEEVENTF_MOVE = 0x0001;移动鼠标

const int MOUSEEVENTF_LEFTDOWN = 0x0002;模拟按下鼠标左键

const int MOUSEEVENTF_LEFTUP = 0x0004;模拟鼠标左键

api 模拟鼠标_api 模拟鼠标_模拟鼠标点击api

const int MOUSEEVENTF_RIGHTDOWN = 0x0008;模拟鼠标右键按下

const int MOUSEEVENTF_RIGHTUP = 0x0010;模拟鼠标右键的抬起

const int MOUSEEVENTF_MIDDLEDOWN = 0x0020;模拟鼠标中键按下

const int MOUSEEVENTF_MIDDLEUP = 0x0040;模拟鼠标中键向上

const int MOUSEEVENTF_ABSOLUTE = 0x8000;指示是否使用绝对坐标

在程序中,我们可以直接调用mouse_event函数。

api 模拟鼠标_模拟鼠标点击api_api 模拟鼠标

mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE,500,500,0,0);

1、这是按下和释放鼠标左键这两个事件的组合,即单击一次:

mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,0,0,0,0)

2、模拟鼠标右键单击事件:

mouse_event(MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP,0,0,0,0)

3、两个连续的鼠标左键单击事件构成鼠标双击事件:

api 模拟鼠标_模拟鼠标点击api_api 模拟鼠标

mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,0,0,0,0)

mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,0,0,0,0)

4、使用绝对坐标

MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE,500、500、0、0

应注意,如果不使用MOUSEEVENTF_ABSOLUTE,则该功能默认为相对于鼠标当前位置的点。如果dx和dy用0、0表示,则此函数考虑当前鼠标所在的点。5、直接设置绝对坐标,然后点击

mouse_event(MOUSEEVENTF_LEFTDOWN,X * 65536/1024,Y * 65536/768,0,0);

mouse_event(MOUSEEVENTF_LEFTUP,X * 65536/1024,Y * 65536/768,0,0);

其中X和Y是您要单击的点的横坐标和纵坐标

Keybd_event()用于键盘仿真

Keybd_event可以触发一个按键事件,即,将生成WM_KEYDOWN或WM_KEYUP消息。当然,这两个消息也可以用于模拟按键,但是直接使用此功能并不方便。 Keybd_event具有四个参数,第一个是键的虚拟键值,例如Enter键是vk_return,而tab键是vk_tab。第二个参数是扫描代码。通常,无需设置它,只需使用0即可。第三个参数是选项标志。如果为keydown,则将其设置为0。如果为keyup,则将其设置为“ KEYEVENTF_KEYUP”。第四个参数通常设置为0。使用以下代码模拟按下i键,其中49代表i键的虚拟键值


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/bofangqi/article-337765-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...