概述
C#实现对鼠标的操作
本文主要给大家展示的是怎么用C#实现对鼠标的操作,有是否在窗体上显示鼠标、把鼠标移动到指定位置、获取鼠标的坐标等。下面将介绍具体操作:
开始是一些参数定义:
然后定义一些从非托管DLL导出来的函数:
//dwFlags参数定义
const int MOUSEEVENTF_MOVE = 0x0001; // 移动鼠标
const int MOUSEEVENTF_LEFTDOWN = 0x0002; //模拟鼠标左键按下
const int MOUSEEVENTF_LEFTUP = 0x0004; //模拟鼠标左键抬起
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; //标示是否采用绝对坐标。不采用绝对坐标的话(0,0)表示的是该鼠标当时的位置
然后定义一些从非托管DLL导出来的函数:
//是鼠标自动移动到某个位置
[DllImport("user32.dll", EntryPoint = "SetCursorPos")]
public extern static bool SetCursorPos(int x, int y);
//获取鼠标当前的位置
[StructLayout(LayoutKind.Sequential)]
public struct POINT
{
public int X;
public int Y;
}
[DllImport("User32")]
public extern static bool GetCursorPos(out POINT p);
//是否显示鼠标箭头
[DllImport("User32")]
public extern static int ShowCursor(bool bShow);
//调用系统函数 模拟鼠标事件函数
[DllImport("user32", EntryPoint = "mouse_event")]
private static extern int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);
接下来,就能通过代码实现对鼠标的一些操作了,下面展示的是一个例子:
//是鼠标自动到(100,100)位置
SetCursorPos(100,100);
//获取当前鼠标的位置
POINT p = new POINT();
GetCursorPos(out p);
textBox1.Text = "" + p.X + "//" + p.Y;
//是否显示鼠标(true、false) 注:仅在该软件的界面上是否显示鼠标
ShowCursor(false);
//移动鼠标到屏幕的(0,0)
mouse_event(MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE, 0, 0, 0, 0);
//移动鼠标到屏幕的(0,0)并左键单击
mouse_event(MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE |
MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
源码资源:http://download.csdn.net/detail/laozhuxinlu/9382869
最后
以上就是风趣灰狼为你收集整理的C#实现对鼠标的操作的全部内容,希望文章能够帮你解决C#实现对鼠标的操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复