精华内容
下载资源
问答
  • C# 鼠标自动点击

    2019-03-20 15:53:10
    学着写的C# 鼠标自动点击小程序,可查看点击位置、设置点击速度等
  • C#鼠标自动点击器是用C#实现的鼠标自动点击器,玩儿游戏的朋友们对你们应有用
  • C# 鼠标自动点击助手源码,鼠标自动点击 助手,可用。
  • C#鼠标自动点击

    千次阅读 2011-07-13 14:30:28
    实现:鼠标自动点击,设置鼠标点击频率和位置,获取鼠标当前位置的坐标,using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.D

    实现:鼠标自动点击,设置鼠标点击频率和位置,获取鼠标当前位置的坐标,

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Runtime.InteropServices;
    using System.Threading;

    namespace automatic
    {
        public partial class zidong : Form
        {
            public zidong()
            {
                InitializeComponent();
                System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
                LB_Numbers.Text = ClickCount.ToString();
               
            }
            private void btn_exit_Click(object sender, EventArgs e)
            {
                try
                {
                    if (controlThread != null)
                        controlThread.Abort();//停止线程
                }
                catch (Exception)
                {
                    Application.DoEvents();
                }
                this.Close();
            }
          
            [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       //鼠标按键的ASCLL码
            {
                Move = 0x0001,
                LeftDown = 0x0002,
                LeftUp = 0x0004,
                RightDown = 0x0008,
                RightUp = 0x0010,
                MiddleDown = 0x0020,
                MiddleUp = 0x0040,
                Wheel = 0x0800,
                Absolute = 0x8000
            }

            private void AutoClick(int x, int y)
            {
                POINT p = new POINT();
                GetCursorPos(out p);
                try
                {
                    SetCursorPos(x, y);//设置光标位置               
                    mouse_event((int)(MouseEventFlags.LeftDown | MouseEventFlags.Absolute), 0, 0, 0, IntPtr.Zero);//自动按下的按键
                    mouse_event((int)(MouseEventFlags.LeftUp | MouseEventFlags.Absolute), 0, 0, 0, IntPtr.Zero);
                }
                finally
                {
                    SetCursorPos(p.X, p.Y);
                }
            }       
            Point CursorPosition = new Point(0, 0);//存放着当前鼠标的位置坐标       
            int ClickCount = 0;//存放着鼠标左键点击次数       
            Thread controlThread;//主线控制程对象
            int x=480;
            int y = 483;
            int span = 2000;
            //线程主要处理的函数
            private void ThreadRunMethod()
            {
                while (true)
                {               
                    //CursorPosition = Cursor.Position;//自动获取鼠标的位置
                    AutoClick(x, y);          //(CursorPosition.X, CursorPosition.Y);设置鼠标点击的位置
                    Thread.Sleep(span);
                }
            }
            private void ThreadRunMethod2()
            {
                while (true)
                {
                    CursorPosition = Cursor.Position;//自动获取鼠标的位置
                    AutoClick(CursorPosition.X, CursorPosition.Y);//设置鼠标点击的位置
                    Thread.Sleep(span);
                }
            }
            //点击开始,开始鼠标左键自动点击
            private void BT_Start_Click(object sender, EventArgs e)
            {
                if (txt_span.Text.Length != 0)
                    span = Convert.ToInt32(txt_span.Text.Trim());
                try
                {
                    if (controlThread == null)
                    {
                        controlThread = new Thread(new ThreadStart(ThreadRunMethod2));
                        controlThread.Start();
                    }
                }
                catch (Exception)
                {
                    Application.DoEvents();
                }
                BT_Stop.Enabled = true;
                BT_Start.Enabled = false;
                button2.Enabled = false;
            }
            private void BT_TestClick_Click(object sender, EventArgs e)
            {
                ClickCount++;
                LB_Numbers.Text = ClickCount.ToString();
            }
            private void BT_Stop_Click(object sender, EventArgs e)
            {
                try
                {
                    if (controlThread != null)
                        controlThread.Abort();
                    controlThread = null;
                }
                catch (Exception)
                {
                    Application.DoEvents();
                }
                BT_Start.Enabled = true;
                button2.Enabled = true;
                BT_Stop.Enabled = false;
            }
            //设置位置
            private void button1_Click(object sender, EventArgs e)
            {
                if (txt_x.Text.Length != 0)
                    x = Convert.ToInt32(txt_x.Text.Trim());
                if (txt_y.Text.Length != 0)
                    y = Convert.ToInt32(txt_y.Text.Trim());
                if (txt_span.Text.Length != 0)
                    span = Convert.ToInt32(txt_span.Text.Trim());
                try
                {
                    if (controlThread == null)
                    {
                        controlThread = new Thread(new ThreadStart(ThreadRunMethod));
                        controlThread.Start();
                    }
                }
                catch (Exception)
                {
                    Application.DoEvents();
                }
                BT_Stop.Enabled = true;
                BT_Start.Enabled = false;
            }      
            //开始按钮
            private void button2_Click(object sender, EventArgs e)
            {
                span = 2000;
                try
                {
                    if (controlThread == null)
                    {
                        controlThread = new Thread(new ThreadStart(ThreadRunMethod));
                        controlThread.Start();
                    }
                }
                catch (Exception)
                {
                    Application.DoEvents();
                }
                BT_Stop.Enabled = true;
                BT_Start.Enabled = false;
                button1.Enabled = true;
            }
            /// <summary>
            /// 显示当前鼠标位置
            /// </summary>
            private void ShowCursorPosition()
            {
                string str=null ;
                str += "X:" + Cursor.Position.X.ToString() + "  ";
                str += "Y:" + Cursor.Position.Y.ToString() ;
                txt_position.Text = str;          
            }
            // 显示当前鼠标位置的按钮
            private void btn_position_Click(object sender, EventArgs e)
            {
                ShowCursorPosition();
            }
            private void zidong_Load(object sender, EventArgs e)
            {
                ToolTip tooltip = new ToolTip();//鼠标悬浮时显示的提示
                tooltip.ShowAlways = true;
                tooltip.AutoPopDelay = 2000;
                tooltip.InitialDelay = 50;
                tooltip.ReshowDelay = 50;
                tooltip.SetToolTip(this.btn_position, "按Alt+d显示当前鼠标坐标");
                tooltip.SetToolTip(this.button2, "开始");
            }
        }
    }

     

    展开全文
  • c#鼠标自动点击器 注册系统热键 源代码
  • C#鼠标自动点击左键

    2019-05-09 17:53:06
    VS2008鼠标自动单击屏幕,自行开发,如有疑问欢迎交流。
  • C#鼠标自动点击软件

    2011-06-30 13:35:34
    C#编写,可以设置鼠标自动点击的位置,可以点击窗口的任意地方,鼠标自动点击。里面有源代码。
  • C# 实现鼠标自动点击功能

    热门讨论 2013-01-24 18:28:06
    开发平台:VS2008 实现功能: 记录鼠标点击次数 ...设置鼠标位置可以控制鼠标指定点击一个位置(慎用,设置的鼠标位置不是停止按钮处会导致程序无法停止,解决办法将停止按钮绑定快捷键,本人懒没有做)
  • 这是C# WinForm的一个鼠标自动点击程序,有点类似于按键精灵,可以设置自动点击的时间间隔,也可以设置单击多少次结束单击,他有两种点击方式:1.在屏幕的固定位置自动点击 2.随着鼠标位置自动点击
  • VS2008编写,源码,鼠标自动点击,可设置点击时间,记录点击次数,显示点击倒计时,源码有详细的中文解释,非常适合初学者
  • C# 鼠标自动控制 工程

    2013-06-07 11:15:52
    开发环境vs2010 功能先选择点 设置时间周期 然后开始自动点击
  • 这是我弄到的一个小例子,方便大家学习参考。
  • 功能:获取屏幕上任意三个坐标,间隔一定时间(可设定时间间隔)循环单击/双击这三个坐标,实现无人操作。
  • C#写的鼠标点击器,可以实现3个点的自动切换和左右键单双击等功能,附带VS2012的工程文件,相互学习
  • C# 模拟鼠标自动单击

    2015-04-17 09:26:44
    C# 模拟鼠标自动单击 .可查看但当前鼠标坐标。F5开始 F6关闭
  • 自己写的,一个关于鼠标自动点击的案例
  • C# 鼠标点击C#C#

    2009-09-10 21:27:54
    能够自动点击鼠标 左右键 可以设置 点击的频率 支持快捷键
  • C# 模拟鼠标点击、键盘输入,加入热键启动。键盘输入请打开记事本输入在记事本中。
  • 鼠标自动点击

    2014-08-17 13:33:33
    鼠标自动点击,实现自动的鼠标点击功能
  • Space空格取坐标; ESC停止 其他见界面
  • c#实现自动点击鼠标左键(例子)

    千次阅读 2010-05-21 23:33:00
    C# code <!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System;using System.Collections.Generic;using System.ComponentModel;
    C# code 
    
    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; namespace 点击 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } [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 AutoClick(int x, int y) { POINT p = new POINT(); GetCursorPos(out p); try { SetCursorPos(x, y); mouse_event((int)(MouseEventFlags.LeftDown | MouseEventFlags.Absolute), 0, 0, 0, IntPtr.Zero); mouse_event((int)(MouseEventFlags.LeftUp | MouseEventFlags.Absolute), 0, 0, 0, IntPtr.Zero); } finally { SetCursorPos(p.X, p.Y); } } private void button1_Click(object sender, EventArgs e) { AutoClick(20, 40); } } }
    展开全文
  • c#模拟鼠标点击屏幕任意点

    热门讨论 2012-12-12 15:31:34
    把三个点的坐标填入六个文本框自动执行 if (k == 100)//10秒后自动单击第二个点(双击第一个点5秒后) { SetCursorPos(m, n); mouse_event(MouseEventFlag.LeftDown, 0, 0, 0, UIntPtr.Zero); mouse_event...
  • 源代码是CSDN网友提供,稍作修改,支持程序后台全局快捷键,默认F10启动,F11停止。绝对无毒。压缩包含VS2008源代码一份和编译好的exe执行程序。可用于剑灵力士自动卡刀,自定义左右键延时。
  • 可应用于解决重复性点击鼠标操作
  • 运行程序,点击 Vs 自动获取截图,并在画图软件中显示出来,也可以到当前目录中查看图片 . . . . 要想写出截图的代码,我们需要学习九个 Win32 Api,他们分别是: 其中有两两Api 是对应的,比如获取句柄 对应 释放...

    此文部分知识点相关文章:

    此文在使用 MouseHook的基础上加了一个鼠标点击程序 获取截图的功能,所有要先看看上面的两篇文章比较好 . . .

    话不多说先来看一下程序的效果如何:
    在这里插入图片描述
    运行程序,点击 Vs 自动获取截图,并在画图软件中显示出来,也可以到当前目录中查看图片 . . .

    .

    要想写出截图的代码,我们需要学习九个 Win32 Api,他们分别是:
    在这里插入图片描述

    其中有两两Api 是对应的,比如获取句柄 对应 释放句柄,所以我们还是比较容易理解这九个 Api 的使用 . . .

    .

    Win32 Api 的描述与功能

    1. PrintWindow:在这里插入图片描述 2. SelectObject:在这里插入图片描述 3. CreateCompatibleDC:在这里插入图片描述 4. DeleteDC:在这里插入图片描述5. CreateCompatibleBitmap:在这里插入图片描述 6. DeleteObject:在这里插入图片描述 7. GetWindowRect:在这里插入图片描述 8. GetWindowDC:在这里插入图片描述 9. ReleaseDC:在这里插入图片描述


    程序实现

    1. 首先,我们一个名为 CaptrueImage 的类,他有一个方法用于返回截取的 Bitmap(位图)
      在这里插入图片描述

    2. 在这个类中 导入 Win32 Api:
      在这里插入图片描述

    .

    . 实现 Captuer 方法,返回位图:

    1. 判断是否有进程存在,没有则返回方法:
    if (process == null) return null;
    1. 获取设备上下文:
      在这里插入图片描述

    2. 获取指定窗口边界的尺寸:GetWindowRect
      在这里插入图片描述

    3. 计算窗口大小:
      在这里插入图片描述

    4. 创建一个设备上下文相关的位图,CreateCompatibleBitmap -> DeleteObject
      在这里插入图片描述

    5. 创建一个内存上下文兼容的句柄,CreateCompatibleDC -> DeleteDC
      在这里插入图片描述

    6. 选择一个设备上下文对象:SelectObject
      在这里插入图片描述

    7. 拷贝窗口到设备上下文,PrintWindow
      在这里插入图片描述

    8. 从位图句柄中创建 Bitmap:
      在这里插入图片描述

    9. 清理垃圾,并返回位图:
      在这里插入图片描述

    .

    . 修改鼠标钩子左键按下操作:

    在这里插入图片描述

    上面好像少了什么东西,多了一个事件触发语句,这相当于什么呢?

    相当于下面这个东西:

    在这里插入图片描述

    只不过对 MouseHook 修整了一下而已 . . .

    如果我们不想截取一整个进程的图片,只想截取部分图片怎么办呢?

    我们只需要借助 Graphics 类来实现即可:

    例如下的操作:

    在这里插入图片描述

    先定义一个 Bitmap对象,用于存取截的图,定义 Graphics对象 关联到 Bitmap对象,使用 DrawImage开始指定大小截图,最后保存即可,效果如下所示:

    在这里插入图片描述

    如果我们在加一点算法,就可以获取各种各样进程中的指定图片了,是不是很有趣呢?

    .


    程序完事源码可访问:

    GitHub --> Process-Screenshots

    展开全文
  • c#模拟鼠标点击 需要引用的dll C#本身带的类库中没有关于鼠标操作的函数库,需要引用微软的dll,在visual studio中使用 nuget添加 mshtml 即可(Microsoft.mshtml) 主要函数,及其方法参数释义 using System; ...

    c#模拟鼠标点击

    需要引用的dll

    C#本身带的类库中没有关于鼠标操作的函数库,需要引用微软的dll,在visual studio中使用 nuget添加 mshtml 即可(Microsoft.mshtml)

    主要函数,及其方法参数释义

    
        using System;
        using System.Collections.Generic;
        using System.Linq;
        using System.Text;
        using System.Threading.Tasks;
        using System.Runtime.InteropServices;
    
        namespace workhelper
        {
            class MouseHelper
            {
                [System.Runtime.InteropServices.DllImport("user32")]
                public static extern int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);
                //移动鼠标 
                public const int MOUSEEVENTF_MOVE = 0x0001;
                //模拟鼠标左键按下 
                public const int MOUSEEVENTF_LEFTDOWN = 0x0002;
                //模拟鼠标左键抬起 
                public const int MOUSEEVENTF_LEFTUP = 0x0004;
                //模拟鼠标右键按下 
                public const int MOUSEEVENTF_RIGHTDOWN = 0x0008;
                //模拟鼠标右键抬起 
                public const int MOUSEEVENTF_RIGHTUP = 0x0010;
                //模拟鼠标中键按下 
                public const int MOUSEEVENTF_MIDDLEDOWN = 0x0020;
                //模拟鼠标中键抬起 
                public const int MOUSEEVENTF_MIDDLEUP = 0x0040;
                //标示是否采用绝对坐标 
                public const int MOUSEEVENTF_ABSOLUTE = 0x8000;
                [DllImport("user32.dll")]
                public static extern bool SetCursorPos(int X, int Y);
            }
        }
    

    SetCursorPos 函数

    把光标移到屏幕的指定位置。(ps:是整个屏幕的坐标,相对于屏幕左上角的绝对位置)

    参数

    • X 指定光标的新的X坐标,以屏幕坐标表示。
    • Y 指定光标的新的Y坐标,以屏幕坐标表示。
      返回值
    • 如果成功,返回非0值
    • 如果失败,返回值是0

      mouse_event 函数

      综合鼠标移动和按钮点击。该方法包含鼠标左右移动及点击操作。
      参数
    • dwFlags 标志位集,指定点击按钮和鼠标动作的多种情况。此参数可以是下列值的某种组合:

    VALUE MEANING
    MOUSEEVENTF_ABSOLUTE dX和dY参数含有规范化的绝对坐标。如果不设置,这些参数含有相对数据:相对于上次位置的改动位置。此标志可设置,也可不设置,不管鼠标的类型或与系统相连的类似于鼠标的设备的类型如何。要得到关于相对鼠标动作的信息,参见下面备注部分
    MOUSEEVENTF_MOVE 鼠标移动
    MOUSEEVENTF_LEFTDOWN 鼠标左键按下
    MOUSEEVENTF_LEFTUP 鼠标左键松开
    MOUSEEVENTF_RIGHTDOWN 鼠标右键按下
    MOUSEEVENTF_RIGHTUP 鼠标右键松开
    MOUSEEVENTF_MIDDLEDOWN 鼠标中键按下
    MOUSEEVENTF_MIDDLEUP 鼠标中键松开
    MOUSEEVENTF_WHEEL 鼠标轮被滚动,如果鼠标有一个滚轮。滚动的数量由dwData给出
    • dx
      指定鼠标沿x轴的绝对位置或者从上次鼠标事件产生以来移动的数量,依赖于MOUSEEVENTF_ABSOLUTE的设置。给出的绝对数据作为鼠标的实际X坐标;给出的相对数据作为移动的mickeys数。一个mickey表示鼠标移动的数量,表明鼠标已经移动。
    • dy
      指定鼠标沿y轴的绝对位置或者从上次鼠标事件产生以来移动的数量,依赖于MOUSEEVENTF_ABSOLUTE的设置。给出的绝对数据作为鼠标的实际y坐标,给出的相对数据作为移动的mickeys数。
    • dwData
      如果dwFlags为MOUSEEVENTF_WHEEL,则dwData指定鼠标轮移动的数量。正值表明鼠标轮向前转动,即远离用户的方向;负值表明鼠标轮向后转动,即朝向用户。一个轮击定义为WHEEL_DELTA,即120。如果dwFlagsS不是MOUSEEVENTF_WHEEL,则dWData应为零。
    • dwExtraInfo
      指定与鼠标事件相关的附加32位值。应用程序调用函数GetMessageExtraInfo来获得此附加信息

    使用示例

        MouseHelper.SetCursorPos(Form1.point.X, Form1.point.Y);
        MouseHelper.mouse_event(MouseHelper.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
        MouseHelper.mouse_event(MouseHelper.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);

    转载于:https://www.cnblogs.com/falcon-fei/p/11396740.html

    展开全文
  • C# CSharp用CefSharp开发浏览器--鼠标模拟,鼠标事件,鼠标点击鼠标移动效果:模拟鼠标点击、移动,自动画线。开发环境方案一个坑代码 效果:模拟鼠标点击、移动,自动画线。 研究 网络爬虫和一些 验证码破解...
  • 本文将以写过的一款实用软件:鼠标自动指定操作的实现为例,详细介绍C#如何实现对鼠标的操作,同时包括对键盘事件的捕捉。 废话不多说,先给大家看看实现的软件功能: 如上图所示:该款软件可设定鼠标单击还是双击...
  • vs2010环境,采用c#实现了,鼠标自动在屏幕某个坐标上进行点击操作。
  • 自制鼠标自动点击器源代码

    热门讨论 2011-12-05 13:52:55
    自己制作的鼠标点击器,使用VS2008编译的,直接带着一个可以运行的程序。纯手工打造,干净清爽,无毒无插件。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,053
精华内容 6,021
关键字:

c#鼠标自动点击

c# 订阅