• 大小: 20KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-12
  • 语言: C#
  • 标签: C#  模拟鼠标  源码  

资源简介

C#编写的模拟鼠标点击和移动的操作,模拟鼠标点击和移动。。功能也很简单,用到hook,新手可以看看。。

资源截图

代码片段和文件信息

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;
//download by http://www.codefans.net
namespace SimulateMouse
{
    public partial class DemoForm : Form
    {
        [StructLayout(LayoutKind.Sequential)]
        struct NativeRECT
        {
            public int left;
            public int top;
            public int right;
            public int bottom;
        }

        [Flags]
        enum MouseEventFlag : uint
        {
            Move        = 0x0001
            LeftDown    = 0x0002
            LeftUp      = 0x0004
            RightDown   = 0x0008
            RightUp     = 0x0010
            MiddleDown  = 0x0020
            MiddleUp    = 0x0040
            XDown       = 0x0080
            XUp         = 0x0100
            Wheel       = 0x0800
            VirtualDesk = 0x4000
            Absolute    = 0x8000
        }

        [DllImport(“user32.dll“)]
        static extern bool SetCursorPos(int X int Y);  

        [DllImport(“user32.dll“)]
        static extern void mouse_event(MouseEventFlag flags int dx int dy uint data UIntPtr extraInfo);

        [DllImport(“user32.dll“)]
        static extern IntPtr FindWindow(string strClass string strWindow);

        [DllImport(“user32.dll“)]
        static extern IntPtr FindWindowEx(HandleRef hwndParent HandleRef hwndChildAfter string strClass string strWindow);

        [DllImport(“user32.dll“)]
        static extern bool GetWindowRect(HandleRef hwnd out NativeRECT rect);


        const int AnimationCount = 80;
        
        private Point endPosition;

        private int count;

        public DemoForm()
        {
            InitializeComponent();
        }

        private void btnStart_Click(object sender EventArgs e)
        {
            NativeRECT rect;

            IntPtr ptrTaskbar = FindWindow(“Shell_TrayWnd“ null);
            if (ptrTaskbar == IntPtr.Zero)
            {
                MessageBox.Show(“No taskbar found.“);
                return;
            }

            IntPtr ptrStartBtn = FindWindowEx(new HandleRef(this ptrTaskbar) new HandleRef(this IntPtr.Zero) “Button“ null);
            if (ptrStartBtn == IntPtr.Zero)
            {
                MessageBox.Show(“No start button found.“);
                return;
            }

            GetWindowRect(new HandleRef(this ptrStartBtn) out rect);

            endPosition.X = (rect.left + rect.right) / 2;
            endPosition.Y = (rect.top + rect.bottom) / 2;

            if (chkAnimation.Checked)
            {
                this.count = AnimationCount;
                movementTimer.Start();
            }
            else
            {
                SetCursorPos(endPosition.X endPosition.Y);
                mouse_event(MouseEventFlag.Lef

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

----------- ---------  ---------- -----  ----

                74827                    18


评论

共有 条评论