手机
当前位置:查字典教程网 >编程开发 >C#教程 >winform模拟鼠标按键的具体实现
winform模拟鼠标按键的具体实现
摘要:今天朋友说被他们公司的学习网站恶心到了,下班后要他看学习资料,看完点下一页,而且一页必须停留多少时间才能点击下一页,想不看都不行,于是晚上我...

今天朋友说被他们公司的学习网站恶心到了,下班后要他看学习资料,看完点下一页,而且一页必须停留多少时间才能点击下一页,想不看都不行,于是晚上我突发奇想要给他做一个模拟鼠标按键的程序,可以让鼠标定时间隔触发单击,顺便做下程序最小化到右下角。

首先要引用下user32.dll文件,电脑里就有,C:WindowsSystem32搜索下出来了,复制出来放到debug目录下就行。

以下是解决方案代码

复制代码 代码如下:

[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]

private static extern int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);

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; //标示是否采用绝对坐标

public Form1()

{

InitializeComponent();

}

private void timer1_Tick(object sender, EventArgs e)

{

if (rbtnClick.Checked)

{

mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, Cursor.Position.X, Cursor.Position.Y, 0, 0);

}

if (rbtnDoubClick.Checked)

{

mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP | MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, Cursor.Position.X, Cursor.Position.Y, 0, 0);

}

}

这是设计界面

winform模拟鼠标按键的具体实现1

最小化到右下角用了一个notifyIcon控件,在窗体变化时触发事件

复制代码 代码如下:

private void Form1_Resize(object sender, EventArgs e)

{

if (this.WindowState == FormWindowState.Minimized)

{

notifyIcon1.Visible = true;

this.Hide();

this.ShowInTaskbar = false;//是否在windows任务栏中显示窗体

}

}

双击最小化图标时要恢复窗体

复制代码 代码如下:

private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)

{

if (!this.ShowInTaskbar)

{

this.ShowInTaskbar = true;

this.Show();

this.Activate();

this.WindowState = FormWindowState.Normal;

}

}

总体工作做好了,记得给notifyIcon控件上个图标。运行起来,启动按钮,最小化程序,鼠标就会间隔性地点击啦。

拓展:可以加入键盘按键功能,指定时间模拟出键盘按键。是否还可以加入模拟鼠标滚轮。以后有需要可以继续写出来。

【winform模拟鼠标按键的具体实现】相关文章:

C#软件注册码的实现代码

C# TrieTree介绍及实现方法

解决C# winForm自定义鼠标样式的两种实现方法详解

WinForm子窗体访问父窗体控件的实现方法

C# SendInput 模拟鼠标操作的实现方法

基于使用BeginInvoke,EndInvoke异步调用委托的实现代码

解读在C#中winform程序响应键盘事件的详解

深入线程安全容器的实现方法

winfrom 在业务层实现事务控制的小例子

WinForm中快捷键与组合按键的设置方法

精品推荐
分类导航