Search
 
 

Display results as :
 


Rechercher Advanced Search

Latest topics
» ~=?{The future is here, TastyExploit officially open to the public}?=~
Tue Mar 02, 2010 11:00 pm by Dami

» My first aa script
Tue Mar 02, 2010 7:00 am by wafflemaster

» the real story behind Maverin
Tue Mar 02, 2010 1:33 am by SoundOfDeat

» Random spam
Mon Mar 01, 2010 11:52 pm by Danny1994

» [Request] EMS v56 Exe
Mon Mar 01, 2010 12:39 am by Dami

» [Blacklist] NX-Trading Blacklist.
Mon Mar 01, 2010 12:38 am by Danny1994

» I have a question regarding the meso farmer
Sat Feb 27, 2010 10:30 pm by Dami

» What are you listening to now?
Sat Feb 27, 2010 7:57 pm by Noname111111

» Video(s) Of The Day
Sat Feb 27, 2010 7:37 pm by Noname111111

Navigation
 Portal
 Index
 Memberlist
 Profile
 FAQ
 Search
Affiliates
free forum
 



[C#] SendInput AutoClicker

Go down

[C#] SendInput AutoClicker

Post by Dami on Fri Oct 30, 2009 3:33 am

By The_Undead

Code:
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace ConsoleApplication1
{
   class Program
   {
      public class SendInputClass
      {

         //C# signature for "SendInput()"
         [DllImport("user32.dll", EntryPoint = "SendInput", SetLastError = true)]
         static extern uint SendInput(
            uint nInputs,
            INPUT[] pInputs,
            int cbSize);

         //C# signature for "GetMessageExtraInfo()"
         [DllImport("user32.dll", EntryPoint = "GetMessageExtraInfo", SetLastError = true)]
         static extern IntPtr GetMessageExtraInfo();

         private enum InputType
         {
            INPUT_MOUSE = 0,
            INPUT_KEYBOARD = 1,
            INPUT_HARDWARE = 2,
         }

         [Flags()]
         private enum MOUSEEVENTF
         {
            MOVE = 0x0001,  // mouse move
            LEFTDOWN = 0x0002,  // left button down
            LEFTUP = 0x0004,  // left button up
            RIGHTDOWN = 0x0008,  // right button down
            RIGHTUP = 0x0010,  // right button up
            MIDDLEDOWN = 0x0020,  // middle button down
            MIDDLEUP = 0x0040,  // middle button up
            XDOWN = 0x0080,  // x button down
            XUP = 0x0100,  // x button down
            WHEEL = 0x0800,  // wheel button rolled
            VIRTUALDESK = 0x4000,  // map to entire virtual desktop
            ABSOLUTE = 0x8000,  // absolute move
         }

         [Flags()]
         private enum KEYEVENTF
         {
            EXTENDEDKEY = 0x0001,
            KEYUP = 0x0002,
            UNICODE = 0x0004,
            SCANCODE = 0x0008,
         }

         [StructLayout(LayoutKind.Sequential)]
         private struct MOUSEINPUT
         {
            public int dx;
            public int dy;
            public int mouseData;
            public int dwFlags;
            public int time;
            public IntPtr dwExtraInfo;
         }

         [StructLayout(LayoutKind.Sequential)]
         private struct KEYBDINPUT
         {
            public short wVk;
            public short wScan;
            public int dwFlags;
            public int time;
            public IntPtr dwExtraInfo;
         }

         [StructLayout(LayoutKind.Sequential)]
         private struct HARDWAREINPUT
         {
            public int uMsg;
            public short wParamL;
            public short wParamH;
         }

         [StructLayout(LayoutKind.Explicit)]
         private struct INPUT
         {
            [FieldOffset(0)]
            public int type;
            [FieldOffset(4)]
            public MOUSEINPUT mi;
            [FieldOffset(4)]
            public KEYBDINPUT ki;
            [FieldOffset(4)]
            public HARDWAREINPUT hi;
         }

         
         // This function simulates a simple mouseclick at the current cursor position.
         public static uint Click()
         {
            INPUT input_down = new INPUT();
            input_down.mi.dx = 0;
            input_down.mi.dy = 0;
            input_down.mi.mouseData = 0;
            input_down.mi.dwFlags = (int)MOUSEEVENTF.LEFTDOWN;

            INPUT input_up = input_down;
            input_up.mi.dwFlags = (int)MOUSEEVENTF.LEFTUP;

            INPUT[] input = { input_down, input_up };

            return SendInput(2, input, Marshal.SizeOf(input_down));
         }
      } 
      
      
     static void Main(string[] args)
      {
        Console.WriteLine("Clicking in...\n");
        Console.WriteLine("3...");
        System.Threading.Thread.Sleep(1000);
        Console.WriteLine("2...");
        System.Threading.Thread.Sleep(1000);       
        Console.WriteLine("1...");
        System.Threading.Thread.Sleep(1000);
        Console.WriteLine("GO...");
        System.Threading.Thread.Sleep(1000);

        for (int i = 0; i <= 20000; i++)
        {
           //send click
           SendInputClass.Click();
        }
      }
  }
}

Basicly, all the code is already written for you and wrapped into the "SendInputClass" class (kinda obvious eh?) so you just gotta call upon the Click() function.
If you want to preform multiple clicks, use something maybe like:

Code:
//C# Signature for GetAsyncKeyState WIN-API
          [DllImport("User32.dll")]
          private static extern short GetAsyncKeyState(
             int vKey
             );

While ( GetAsyncKeyState == 0)
{
SendInputClass.Click();
}
avatar
Dami
Dragon
Dragon

Posts : 1414
Join date : 2009-08-10
Age : 28
Location : Finland

Back to top Go down

Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum