• c#模拟鼠标左键单击

    2019-08-01 11:52:52
    [System.Runtime.InteropServices.DllImport("user32.dll")] private static extern int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo); const int MOUSEEVENTF_M...
     [System.Runtime.InteropServices.DllImport("user32.dll")]
            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;

    以下是调用代码:

    mouse_event(MOUSEEVENTF_MOVE, 200, 0, 0, 0);
    mouse_event(MOUSEEVENTF_LEFTDOWN, 1, 0, 0, 0);
    mouse_event(MOUSEEVENTF_LEFTUP, 1, 0, 0, 0);

    上面代码的移动鼠标会有点问题,这个不是绝对的坐标。以下代码是绝对坐标

     

     

    声明:

    [DllImport("User32.dll")]
    private static extern bool SetCursorPos(int x, int y);

    调用:

    SetCursorPos(100, 200);

     

    转载于:https://www.cnblogs.com/codeDevotee/p/7270392.html

    展开全文
  • C#——禁用鼠标左键

    2009-10-09 22:27:00
    我们可以通过ImessageFilter接口下的PreFilterMessage方法、Application类的AddMessageFilter方法,RemoveMessageFilter方法和Message结构的Msg属性来禁用鼠标左键。Message结构包装Windows发送的消息,可使用该结构...

    我们可以通过ImessageFilter接口下的PreFilterMessage方法、Application类的AddMessageFilter方法,RemoveMessageFilter方法和Message结构的Msg属性来禁用鼠标左键。Message结构包装Windows发送的消息,可使用该结构包装消息,并将其分配给窗口过程以进行调度,还可以使用该结构获取系统向应用程序或控件发送的关于某个消息的信息。 使用PreFilterMessage方法在调度消息之前将其筛选出来。

    语法格式如下: Bool PreFilterMessage(refMessage m)

    参数说明: m:要调度的消息,无法修改此消息。

    返回值:如果筛选消息并禁止消息被调度,则为True;如果允许消息继续到达下一个筛选器或控件,则为False。

     

    使用AddMessageFilter方法添加消息筛选器以便在向目标传送Windows消息时监视这些消息。

    使RemoveMessageFilter 从应用程序的消息泵移除一个消息筛选器。

    下面给出大家一下主要代码:

    Public partial class Form1:Form,ImessageFilter {

       Public Form1() {

         InitializeComponent();

       }

       Public bool PreFilterMessage(ref System.Windows.Forms.Message MyMessage) {

         //不响应鼠标左键消息

         If(MyMessage.Msg>=513 && MyMessage.Msg<=515) {

             Return true; } Return false;

         }

       Private voi button1_Click(object sender,EventArgs e) {

             Application.AddMessageFilter(this);

             MessageBox.show(“鼠标左键已经被禁止,请用Tab键执行操作”,”信息提示”,

            MessageBoxButtons.OK,MessageBoxIcn.Information);

       }

       Private void button2_Click(object sender,EventArgs e) {

            Application.RemoveMessageFilter(this);

            MessageBox.Show(“鼠标左键已经被解禁,可以执行操作!”,”信息提示”,

            MessageBoxButtons.OK,messageBoxIcon.Information)

       }

    }

    展开全文
  • C#鼠标自动点击左键

    2020-07-07 23:30:52
    VS2008鼠标自动单击屏幕,自行开发,如有疑问欢迎交流。
  • public partial class Form1 : Form  {  public Form1()  {  InitializeComponent();  }  Point mouseOff;//鼠标移动位置变量  bool leftFlag;//标签是否为左键  

     public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            Point mouseOff;//鼠标移动位置变量
            bool leftFlag;//标签是否为左键
            private void Form1_MouseDown(object sender, MouseEventArgs e)
            {
                if (e.Button == MouseButtons.Left)
                {
                    mouseOff = new Point(-e.X, -e.Y); //得到变量的值
                    leftFlag = true;                  //点击左键按下时标注为true;
                }
            }

            private void Form1_MouseMove(object sender, MouseEventArgs e)
            {
                if (leftFlag)
                {
                    Point mouseSet = Control.MousePosition;
                    mouseSet.Offset(mouseOff.X, mouseOff.Y);  //设置移动后的位置
                    Location = mouseSet;
                }
            }

            private void Form1_MouseUp(object sender, MouseEventArgs e)
            {
                if (leftFlag)
                {
                    leftFlag = false;//释放鼠标后标注为false;
                }
            }
        }

    展开全文
  • C# Winform鼠标左键点击按钮弹出设置菜单 【实例1】  ///  /// 鼠标左键点击按钮弹出设置菜单  ///  ///  ///  private void button2_MouseDown(object sender, MouseEventArgs e)  {  

    C# Winform鼠标左键点击按钮弹出设置菜单

    【实例1】

      /// <summary>
            /// 鼠标左键点击按钮弹出设置菜单
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button2_MouseDown(object sender, MouseEventArgs e)
            {
                if (e.Button == MouseButtons.Left)
                {
                    contextMenuStrip2.Show((Button)sender, new Point(e.X, e.Y)); //有的换位button1
                }

            }

    【实例2】

     //点击下拉菜单,弹出快捷菜单
            private void picHelp_MouseDown(object sender, MouseEventArgs e)
            {
                if (e.Button == MouseButtons.Left)
                {
                    this.contextMenuStrip2.Show(picHelp, new Point(e.X, e.Y));
                } 
            }

    其中picHele 为 PictureBox 控件


    展开全文
  • C# 单击鼠标左键画点

    2020-03-14 23:32:37
    C# 单击鼠标左键画点 C# 单击鼠标左键画点
  • 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); } } }
    展开全文
  • 鼠标左键按下后开始连点,鼠标左键松开后停止连点。(全局鼠标连点,不仅限于自身程序) 我先用全局鼠标钩子判断目前鼠标的左键是按下还是放开。 但是因为我有用驱动级的模拟键击的原因,在模拟鼠标左键放开的时候,...
  • private void Form1_MouseClick(object sender, MouseEventArgs e) { this.label1.Text = "相对坐标:" +this.PointToClient(MousePosition).ToString(); this.label2.Text = "...
  • C# 鼠标双击事件

    2019-09-24 11:08:21
    虽然在很早以前就有大神分享了鼠标双击事件,但我还是想整合一下。 废话不多说,用代码说话! 1、此方法用于随意双击 public void OnGUI() { Event Mouse = Event.current; if(Mouse.isMouse &&...
  • Point _downPoint; private void button1_MouseDown(object sender, MouseEventArgs e) { _downPoint = new Point(e.X, e.Y); } private void button1_Mouse...
  • 右键菜单正常设置,左键菜单不通过contextMenuStrip属性设置,在MouseClick事件里实现 C# codeprivate void controlID_MouseClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { ...
  • 设计一个根据鼠标来绘制矩形框的程序,即当按下鼠标左键并拖动至某个位置后释放鼠标使,可根据按下鼠标时的第一个点和释放鼠标时的第二个点来确定并绘制该矩形。 设计思路: 1.首先得到首次鼠标点击的位置 ,然后...
  • 控制面板-鼠标-鼠标键-启用单击锁定
  • private void Form1_MouseClick(object sender, MouseEventArgs e) { Point p = e.Location; MessageBox.Show(p.ToString()); }
  • c#在另外一个方法中如何判断鼠标是否按下,不是在MouseDown等鼠标按钮事件 中,而是在另外的方法函数中,如何判断?
  • 问题描述:设计一个根据鼠标来绘制矩形框的程序,即当按下鼠标左键并拖动至某个位置后释放鼠标使,可根据按下鼠标时的第一个点和释放鼠标时的第二个点来确定并绘制该矩形。问题分析:1.获取在画矩形时起始点的...
  • C#怎么判断是鼠标左键单击还是右键单击? 判断方法如下: private void MouseClick(object sender, MouseEventArgs e){ if (e.Button == MouseButtons.Left) {如果左键单击,执行代码} //左键 else if(e.Button ...
  • C#左键弹出菜单

    2008-07-22 16:17:00
    开发环境: C# 2005 WINFORM有时候我们需要实现左键单击后弹出一个快捷菜单,如何实现?(本文有参考其他文章)1.在窗体上新建一个按钮button12.新建一个快捷菜单contextMenuStrip13.为button1添加单击事件 private...
1 2 3 4 5 ... 20
收藏数 6,291
精华内容 2,516