C#__ 模拟鼠标单击事件
首先要用到的引用有
[DllImport("User32")]
public extern static void mouse_event(int dwFlags, int dx, int dy, int dwData, IntPtr dwExtraInfo);
[DllImport("User32")]
public extern static void SetCursorPos(int x, int y);
1、SetCursorPos:用于设置鼠标的坐标。与它对应的当然就是GetCursorPos啦!
2、mouse_event:这个事件是用于模仿鼠标的各种操作(单击、双击....),视输入参数的不同而定了。
=============================================================================================
下面是完整的代码:
[DllImport("User32")]
public extern static void mouse_event(int dwFlags, int dx, int dy, int dwData, IntPtr dwExtraInfo);
[DllImport("User32")]
public extern static void SetCursorPos(int x, int y);
[DllImport("User32")]
public extern static bool GetCursorPos(out POINT p);
[StructLayout(LayoutKind.Sequential)]
public struct POINT
{
public int X;
public int Y;
}
public enum MouseEventFlags
{
Move = 0x0001, //移动鼠标
LeftDown = 0x0002,//模拟鼠标左键按下
LeftUp = 0x0004,//模拟鼠标左键抬起
RightDown = 0x0008,//鼠标右键按下
RightUp = 0x0010,//鼠标右键抬起
MiddleDown = 0x0020,//鼠标中键按下
MiddleUp = 0x0040,//中键抬起
Wheel = 0x0800,
Absolute = 0x8000//标示是否采用绝对坐标
}
private void button1_Click(object sender, EventArgs e)
{
// POINT p = new POINT();
// GetCursorPos(out p);
// MessageBox.Show(p.X.ToString()+":"+p.Y.ToString());
AutoClick();
} public static void AutoClick()
{
while (true)
{ //设置鼠标的坐标 SetCursorPos(, ); //这里模拟的是一个鼠标双击事件
mouse_event((int)(MouseEventFlags.LeftUp | MouseEventFlags.Absolute), , , , IntPtr.Zero);
mouse_event((int)(MouseEventFlags.LeftDown | MouseEventFlags.Absolute), , , , IntPtr.Zero); mouse_event((int)(MouseEventFlags.LeftUp | MouseEventFlags.Absolute), , , , IntPtr.Zero);
mouse_event((int)(MouseEventFlags.LeftDown | MouseEventFlags.Absolute), , , , IntPtr.Zero);
}
}
C#__ 模拟鼠标单击事件的更多相关文章
- Linux 模拟 鼠标 键盘 事件
/************************************************************************ * Linux 模拟 鼠标 键盘 事件 * 说明: ...
- delphi 在桌面屏幕上模拟鼠标单击
delphi 在桌面屏幕上模拟鼠标单击 procedure TFrmUnicom.Button1Click(Sender: TObject); var oldPoint, newPoint: TPoi ...
- JS事件 鼠标单击事件( onclick )通常与按钮一起使用。onclick是鼠标单击事件,当在网页上单击鼠标时,就会发生该事件。同时onclick事件调用的程序块就会被执行
鼠标单击事件( onclick ) onclick是鼠标单击事件,当在网页上单击鼠标时,就会发生该事件.同时onclick事件调用的程序块就会被执行,通常与按钮一起使用. 比如,我们单击按钮时,触发 ...
- 由chrome剪贴板问题研究到了js模拟鼠标键盘事件
写在前面 最近公司在搞浏览器兼容的事情,所有浏览器兼容的问题不得不一个人包了.下面来说一下今天遇到的一个问题吧 大家都知道IE下面如果要获得剪贴板里面的信息的话,代码应该如下所示 window.cli ...
- 转:WebDriver(Selenium2)模拟鼠标经过事件
在自动化测试过程中,由于javascript的使用,我们常常需要点击一些鼠标经过显示的菜单等元素,这时需要触发该元素的鼠标经过事件.使用WebDriver有以下两种实现. 1.使用Action pub ...
- 使用python监听、模拟鼠标键盘事件
最近守望职业选手疑似开挂事件挺热闹的,在下小菜一枚,并不能从视频中看出端倪.看了一些关于外挂的讨论,自动点射和压枪只需在鼠标驱动上做些改动即可,自瞄或其他高级功能则需要读内存或修改游戏文件,检测也更容 ...
- javascript模拟鼠标双击事件
通常我们在做开发的时候需要通过单击切换对立事件,简单做了一个模型. <!DOCTYPE html> <html> <head> <title>javas ...
- 模拟循环单击事件实现layout中间panel全屏
jquery提供了toggle方法 toggle() 方法切换元素的可见状态. 如果被选元素可见,则隐藏这些元素,如果被选元素隐藏,则显示这些元素. 语法 $(selector).toggle(spe ...
- 鼠标单击事件--JavaScript
<html> <head> <title></title> </head> <script type="text/javas ...
随机推荐
- TCP超时重传、滑动窗口、拥塞控制、快重传和快恢复
TCP超时重传 原理是在发送某一个数据以后就开启一个计时器,在一定时间内如果没有得到发送的数据报的ACK报文,那么就重新发送数据,直到发送成功为止. 影响超时重传机制协议效率的一个关键参数是重传超时时 ...
- .Net HttpContext.Current.Request 常用处理方案
1.清理request的请求数据 PropertyInfo isreadonly =typeof(System.Collections.Specialized.NameValueCollection) ...
- pycharm重置设置,恢复默认设置
备忘,备忘,备忘 window 系统 找到下方目录-->删除. 再重新打开pycharm # Windows Vista, 7, 8, 10: <SYSTEM DRIVE>\User ...
- 【Raspberry Pi】DHT11 温度湿度传感器数据读取
时序图参考厂家说明书:DHT11数字湿温度传感器的原理和应用范例 四个阵脚连接:VCC接3.3伏电源,Dout接GPIO口,我接的是物理12针脚,NC留空,GND接地. 波折1:电阻被错接进了VCC, ...
- 【Raspberry Pi】webpy+mysql+GPIO 实现手机控制
1.mysql http://dev.mysql.com/doc/refman/5.5/en/index.html 安装 sudo apt-get install update sudo apt-ge ...
- boost - 正则表达式xpressive
正则表达式是一套处理文本强有力的工具: 它使用一套复杂的语法规则,可以解决文本处理领域的绝大多数问题; 而这些问题通常是字符串算法很难甚至无法解决的. C++98标准中没有内置的正则表达式支持,使得 ...
- Linux下wc命令详解
功能说明:计算字数. 语 法:wc [-clw][--help][--version][文件…] 补充说明:利用wc指令我们可以计算文件的Byte数.字数.或是列数,若不指定任何文件名称,或是所给 ...
- 解决百度地图Fragment切换黑屏问题
https://blog.csdn.net/rentalphang/article/details/52076330 轻松解决啦!
- HTTP错误 401.3
这是在搭建ASP.NET运行环境时出现的错误,在开启了系统的IIS Web服务器,并安装完.NET FrameWork后, 输入网址:http://127.0.0.1 ,有时会出现401.3的错误, ...
- java was started but returned exit code=1
将eclipse.ini文件删掉, 重启eclipse 会自动生成一个eclipse.ini就可以了~