你如何模拟鼠标点击C#?

你如何模拟鼠标点击C#?

你如何模拟鼠标点击C#?



收到一只叮咚
浏览 1678回答 3
3回答

大话西游666

我已经组合了几个来源来生成下面的代码,我目前正在使用这些代码。我还删除了Windows.Forms引用,这样我就可以从控制台和WPF应用程序中使用它,而不需要额外的引用。using System;using System.Runtime.InteropServices;public class MouseOperations{     [Flags]     public enum MouseEventFlags     {         LeftDown = 0x00000002,         LeftUp = 0x00000004,         MiddleDown = 0x00000020,         MiddleUp = 0x00000040,         Move = 0x00000001,         Absolute = 0x00008000,         RightDown = 0x00000008,         RightUp = 0x00000010     }     [DllImport("user32.dll", EntryPoint = "SetCursorPos")]     [return: MarshalAs(UnmanagedType.Bool)]     private static extern bool SetCursorPos(int x, int y);           [DllImport("user32.dll")]     [return: MarshalAs(UnmanagedType.Bool)]     private static extern bool GetCursorPos(out MousePoint lpMousePoint);     [DllImport("user32.dll")]     private static extern void mouse_event(int dwFlags, int dx, int dy, int dwData, int dwExtraInfo);     public static void SetCursorPosition(int x, int y)      {         SetCursorPos(x, y);     }     public static void SetCursorPosition(MousePoint point)     {         SetCursorPos(point.X, point.Y);     }     public static MousePoint GetCursorPosition()     {         MousePoint currentMousePoint;         var gotPoint = GetCursorPos(out currentMousePoint);         if (!gotPoint) { currentMousePoint = new MousePoint(0, 0); }         return currentMousePoint;     }     public static void MouseEvent(MouseEventFlags value)     {         MousePoint position = GetCursorPosition();         mouse_event            ((int)value,              position.X,              position.Y,              0,              0)             ;     }     [StructLayout(LayoutKind.Sequential)]     public struct MousePoint     {         public int X;         public int Y;         public MousePoint(int x, int y)         {             X = x;             Y = y;         }     }}

慕少森

有些控件,如System.Windows.Forms中的Button,有一个“PerformClick”方法来执行此操作。
打开App,查看更多内容
随时随地看视频慕课网APP