源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2021-11-15 19:51 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:winform模拟鼠标按键的具体实现
  今天朋友说被他们公司的学习网站恶心到了,下班后要他看学习资料,看完点下一页,而且一页必须停留多少时间才能点击下一页,想不看都不行,于是晚上我突发奇想要给他做一个模拟鼠标按键的程序,可以让鼠标定时间隔触发单击,顺便做下程序最小化到右下角。   首先要引用下user32.dll文件,电脑里就有,C:\Windows\System32搜索下出来了,复制出来放到debug目录下就行。   以下是解决方案代码
[u]复制代码[/u] 代码如下:
[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);             }         }
这是设计界面 [img]http://files.jb51.net/file_images/article/201310/2013108142458380.jpg[/img]  最小化到右下角用了一个notifyIcon控件,在窗体变化时触发事件
[u]复制代码[/u] 代码如下:
private void Form1_Resize(object sender, EventArgs e)         {             if (this.WindowState == FormWindowState.Minimized)             {                 notifyIcon1.Visible = true;                 this.Hide();                 this.ShowInTaskbar = false;//是否在windows任务栏中显示窗体             }         }
双击最小化图标时要恢复窗体
[u]复制代码[/u] 代码如下:
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)         {             if (!this.ShowInTaskbar)             {                               this.ShowInTaskbar = true;                 this.Show();                 this.Activate();                 this.WindowState = FormWindowState.Normal;             }         }
  总体工作做好了,记得给notifyIcon控件上个图标。运行起来,启动按钮,最小化程序,鼠标就会间隔性地点击啦。   拓展:可以加入键盘按键功能,指定时间模拟出键盘按键。是否还可以加入模拟鼠标滚轮。以后有需要可以继续写出来。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部