• Log in or sign up for an account here: https://www.sythe.org/login

[VB] Open Source Clicker

Blupig

BEEF TOILET

$5 USD Donor
Joined
Nov 23, 2006
Sythe Gold
1,609
Messages
7,145
Age
33
Location
Canada
Valentine's Singing Competition Winner
Sythe Awards 2015 Winner
Sythe Awards 2016 Winner
Sythe Awards 2020 Winner
Member of the Month Winner
MushyMuncher
Gohan has AIDS
Extreme Homosex
World War 3
I'm LAAAAAAAME
Discord Verified
Off Topic Participant
In response to this thread: http://sythe.org/showthread.php?t=1309686
I thought I'd make an open source, shitty, autoclicker for people to learn from, but in a real language. It's fully commented and all the features work, I just didn't bother adding any error handling so be careful. Definitely room for improvement.

untitltht.png


Download the program ONLY:
Clicker.zip - 22 KB

Download the VB.net SOURCE ONLY:
Clicker Source.zip - 85 KB

If you get any errors with WindowsHookLib references, the DLL is in the /bin/Debug/ folder.

Code:
'' We're using the 3rd party WindowsHookLib library to easily
'' create a keyboard hook for the hotkeys
Imports WindowsHookLib

Public Class Form1

    '' This system function will return the system's current time
    Private Declare Function timeGetTime Lib "winmm.dll" () As Long

    '' Allows us to invoke mouse events (we're going to use left
    '' mouse button up and down)
    Public Declare Function apimouse_event Lib "user32.dll" Alias "mouse_event" (ByVal dwFlags As Int32, ByVal dX As Int32, ByVal dY As Int32, ByVal cButtons As Int32, ByVal dwExtraInfo As Int32) As Boolean

    '' Constant 32-bit integers (cannot be changed) which
    '' correspond to the left down and up events so we can
    '' raise them
    Public Const MOUSEEVENTF_LEFTDOWN As Int32 = &H2
    Public Const MOUSEEVENTF_LEFTUP As Int32 = &H4

    '' Declare keyboard hook, it's WithEvents so we can access
    '' the object's events
    WithEvents kHook As New KeyboardHook

    '' This is how we'll tell when we need to stop clicking if the
    '' user doesn't want to click infinitely
    Dim limCount As Integer = 0

    '' Self explanatory shit
    Private Sub optTimes_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optTimes.CheckedChanged
        txtTimes.Enabled = optTimes.Checked
    End Sub

    Private Sub cmdStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdStart.Click

        '' More self explanatory shit
        cmdStart.Enabled = False
        cmdStop.Enabled = True

        '' Change timer interval according to the "time between clicks"
        tmrClick.Interval = CInt(txtInterval.Text)
        '' Tell the computer to finish its current stack before moving 
        '' on, this makes sure that the interval was changed properly
        '' (Might not be necessary on most machines, I was having 
        '' memory issues while debugging so I popped it in for good measure)
        Application.DoEvents()

        '' Let's start fuckin clickiiiin
        tmrClick.Enabled = True

    End Sub

    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing

        '' Remove keyboard hook (for memory purposes)
        kHook.RemoveHook()

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        '' Install the keyboard hook so we can assign instructions to
        '' different events that have to do with the keyboard
        kHook.InstallHook()

    End Sub

    '' When a key on the keyboard is pushed DOWN
    Private Sub kHook_KeyDown(ByVal sender As Object, ByVal e As WindowsHookLib.KeyboardEventArgs) Handles kHook.KeyDown

        '' If the key that was pressed was F2...
        If e.KeyCode = Keys.F2 Then
            '' If the start button is enabled, raise its click event
            If cmdStart.Enabled = True Then cmdStart.PerformClick()
            '' Same shit here except with F4 and with the stop button
        ElseIf e.KeyCode = Keys.F4 Then
            If cmdStop.Enabled = True Then cmdStop.PerformClick()
        End If

    End Sub

    Private Sub cmdStop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdStop.Click

        '' Self explanatory shit
        tmrClick.Enabled = False
        cmdStart.Enabled = True
        cmdStop.Enabled = False

    End Sub

    '' Timer event
    Private Sub tmrClick_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrClick.Tick

        '' If the clicking is infinite...
        If optInf.Checked = True Then
            '' Left mouse button DOWN
            apimouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
            '' Left mouse button UP (DOWN+UP = CLICK! :D )
            apimouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
            '' Wait randomly between 0 and the random offset (offset 
            '' will add time onto the timer interval so that the interval
            '' is technically random within the range the user sets)
            '' Note that it does not directly change the timer's interval,
            '' just makes the timer wait a bit longer than usual depending
            '' on the random offset.
            Wait(RandomInt(0, CInt(txtRandClicks.Text)))

            '' If clicking isn't infinite...
        Else
            '' If our counter is equal to the times entered by the user minus
            '' one, then stop everything (minus one because I like my counters
            '' to start at 0, it's just a matter of programming style). You can
            '' make the counter start at 1 in the declaration at the top of the
            '' code and remove the minus one here if it confuses you.
            If limCount = CInt(txtTimes.Text) - 1 Then
                tmrClick.Enabled = False
                cmdStart.Enabled = True
                cmdStop.Enabled = False
            End If

            '' Mouse click n shit, then wait randomly
            apimouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
            apimouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
            Wait(RandomInt(0, CInt(txtRandClicks.Text)))

            '' Add 1 onto the count
            limCount = limCount + 1
        End If

    End Sub

    '' Wait function
    Private Sub Wait(ByVal MS As Long)

        Try

            '' Assign the current system time to a variable
            Dim systime As Long = timeGetTime()
            '' Run a blank loop to "pause" the system (asynchronously! :D )
            '' while the recorded system time + the milliseconds to wait are
            '' bigger than the current system time
            Do
            Loop While systime + MS > timeGetTime()

        Catch ex As Exception
            '' Do nothing, cause idgaf about errors
        End Try

    End Sub

    '' Generates a random integer between "min" and "max"
    Public Function RandomInt(ByVal min As Integer, ByVal max As Integer) As Integer

        '' Declare generator as static so it doesn't produce the same
        '' numbers over and over
        Static gen As Random = New Random()
        '' Return generated number
        Return gen.Next(min, max)

    End Function

End Class
 
PHP Shit Show 2k26
I suppose it won't work for Mac either?


Haha you make me laugh every time I see you post on an auto clicker thread, you seem to sell your auto clicker on one main point which is "Mac Compatible", get a few more marketing techniques.

Seems decent Blupig but I don't call VB.Net a real language(I know it literally is).
 
I suppose it won't work for Mac either?

im with you, i hate windows it is a piece of shit, i know a lot of people who use mac>pc and need an auto clicker so that SHOULD be your selling point. dont let anyone talk you down.
 
I suppose it won't work for Mac either?

honestly, hop off, thats all you seem to post on every other thread that is selling/advertising an autoclicker...
 
I suppose it won't work for Mac either?

You know youre desperate for an extra buck when you try and plug yourself and your autoclicker on other peoples threads. And you know what. That pisses me off, so imma make a Java-based autoclicker that is OPENSOURCE AND FREE, and before you try and plug yourself on my thread to.. dont ask because yes it is Mac compatible.
 
PHP Shit Show 2k26
You know youre desperate for an extra buck when you try and plug yourself and your autoclicker on other peoples threads. And you know what. That pisses me off, so imma make a Java-based autoclicker that is OPENSOURCE AND FREE, and before you try and plug yourself on my thread to.. dont ask because yes it is Mac compatible.


Already released one :)
 
Valentine's Singing Competition Winner
Sythe Awards 2015 Winner
Sythe Awards 2016 Winner
Sythe Awards 2020 Winner
Member of the Month Winner
MushyMuncher
Gohan has AIDS
Extreme Homosex
World War 3
I'm LAAAAAAAME
Discord Verified
Off Topic Participant
Actually this does work on Mac lol. Just compile it for Mono, there's nothing in there that would make it not work.
 
PHP Shit Show 2k26
Cool :) Ill make one just because I can. Thinking either to make it java or Objective-C. Java is easily decompilable with jd-gui

That's why you obfuscate it.

Actually this does work on Mac lol. Just compile it for Mono, there's nothing in there that would make it not work.

The Windhowshooklib DLL works on mono?
 
Valentine's Singing Competition Winner
Sythe Awards 2015 Winner
Sythe Awards 2016 Winner
Sythe Awards 2020 Winner
Member of the Month Winner
MushyMuncher
Gohan has AIDS
Extreme Homosex
World War 3
I'm LAAAAAAAME
Discord Verified
Off Topic Participant
That's why you obfuscate it.



The Windhowshooklib DLL works on mono?

Oh right, probably not...Can just use the GetKeyPress API for hotkeys in that case. Don't really need hotkeys at all really, just an added perk :)
 
oo very nice will come in handy
 
Runescape Gamblingrunescape gambling
Back
Top