Hola buenas, soy nuevo en el foro, quería saber si se puede crear un Autoclick que de 10.000 o 20.000 clicks por segundo en Delphi, Cobol o VB. Muchas gracias.
Todo es posible o casi todo, solo tienes que investigar. Busca información sobre el api de mouse_event y si quieres un autoclicker un poco mas avanzado busca entonces sobre GetCursorPos o GetAsyncKeyState.

Saludo
El secreto de mi éxito es Jesús
Fakedo0r escribió:Todo es posible o casi todo, solo tienes que investigar. Busca información sobre el api de mouse_event y si quieres un autoclicker un poco mas avanzado busca entonces sobre GetCursorPos o GetAsyncKeyState.

Saludo
Yo los sé hacer de 3.000 o 4.000 clicks por segundo con GetcursorPos, pero no he podido pasar de ahi. Si hay algún interesado en hacermelo a un buen precio que me envie un MP. Y Gracias Fakedo0r por tu ayuda.
El código del autoclick es este:

Código: Seleccionar todo

Public Class Form1
    Private Declare Sub mouse_event Lib "user32" (ByVal dwflags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cbuttons As Long, ByVal dwExtraInfo As Long)
    Private Const mouseclickup = 4
    Private Const mouseclickdown = 2
    Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As Integer
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Windows.Forms.Cursor.Position = New Point(TextBox1.Text, TextBox2.Text)
        mouse_event(mouseclickdown, 0, 0, 0, 0)
        mouse_event(mouseclickup, 0, 0, 0, 0)
        mouse_event(mouseclickdown, 0, 0, 0, 0)
        mouse_event(mouseclickup, 0, 0, 0, 0)
        mouse_event(mouseclickdown, 0, 0, 0, 0)
        mouse_event(mouseclickup, 0, 0, 0, 0)
    End Sub

    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
        Dim hotkey As Boolean
        hotkey = GetAsyncKeyState(Keys.F3)
        If hotkey = True Then Timer1.Start()
        Dim hotkey1 As Boolean
        hotkey1 = GetAsyncKeyState(Keys.F4)
        If hotkey1 = True Then Timer1.Stop()
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

    End Sub

    Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick
        Dim hotkey As Boolean
        hotkey = GetAsyncKeyState(Keys.F7)
        If hotkey = True Then
            TextBox1.Text = Cursor.Position.X
            TextBox2.Text = Cursor.Position.Y
        End If
    End Sub
End Class
Para potenciarlo más habría que copiar y pegar varias veces este code en el Timer 1.

Código: Seleccionar todo

        mouse_event(mouseclickdown, 0, 0, 0, 0)
        mouse_event(mouseclickup, 0, 0, 0, 0)
Pero en un determinado punto ya no da más clicks por segundo asique por mucho que copies y pegues... alguien sabe como podría darle más caña, potenciarlo más? Gracias!
Sub7Hacks escribió:El código del autoclick es este:

Código: Seleccionar todo

Public Class Form1
    Private Declare Sub mouse_event Lib "user32" (ByVal dwflags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cbuttons As Long, ByVal dwExtraInfo As Long)
    Private Const mouseclickup = 4
    Private Const mouseclickdown = 2
    Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As Integer
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Windows.Forms.Cursor.Position = New Point(TextBox1.Text, TextBox2.Text)
        mouse_event(mouseclickdown, 0, 0, 0, 0)
        mouse_event(mouseclickup, 0, 0, 0, 0)
        mouse_event(mouseclickdown, 0, 0, 0, 0)
        mouse_event(mouseclickup, 0, 0, 0, 0)
        mouse_event(mouseclickdown, 0, 0, 0, 0)
        mouse_event(mouseclickup, 0, 0, 0, 0)
    End Sub

    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
        Dim hotkey As Boolean
        hotkey = GetAsyncKeyState(Keys.F3)
        If hotkey = True Then Timer1.Start()
        Dim hotkey1 As Boolean
        hotkey1 = GetAsyncKeyState(Keys.F4)
        If hotkey1 = True Then Timer1.Stop()
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

    End Sub

    Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick
        Dim hotkey As Boolean
        hotkey = GetAsyncKeyState(Keys.F7)
        If hotkey = True Then
            TextBox1.Text = Cursor.Position.X
            TextBox2.Text = Cursor.Position.Y
        End If
    End Sub
End Class
Para potenciarlo más habría que copiar y pegar varias veces este code en el Timer 1.

Código: Seleccionar todo

        mouse_event(mouseclickdown, 0, 0, 0, 0)
        mouse_event(mouseclickup, 0, 0, 0, 0)
Pero en un determinado punto ya no da más clicks por segundo asique por mucho que copies y pegues... alguien sabe como podría darle más caña, potenciarlo más? Gracias!
Copiar y pegar más veces el mismo código es bastante sucio, es mejor usar un bucle.
Por otro lado, lo que decís sobre que en un punto ya no ejecuta más las órdenes de clicks es cierto, porque se generaría un overflow. En Delphi, una alternativa es meter la instrucción Application.ProcessMessages; que obliga al procesador a ejecutar lo que se le envía.
Aunque 10.000 clicks es demasiado, incluso para juegos MMORPG para agregar puntos. Con 4000 debería ser suficiente.

Saludos.

EDIT: buscando en internet vi que Application.DoEvents para VB hace lo mismo que Application.ProcessMessages en Delphi. Probalo a ver si sirve.
Se me hace exagerado 10.000 click por segundos supongo que un procesador normal se saturaría, pero vamos en nivel usuario lo peor que puede pasar es que se te cierre la aplicación, como dijo BrunoBsso puedes hacer un While o un For dependiendo de tus necesidades, pero vendría mejor si dices para que lo necesitas.

Saludos!
We do what we must, because, we can-> [www.youtube.com/watch?v=Y6ljFaKRTrI]
Pasa a saludar: NeoDark-Labs.BlogSpot.mx
<<<<Proyectos en curso>>>>
[+]Restauración de SSDT
[+]Driver v3 - Ocultar drivers
[+]Anti-rootkit
orlando9427 escribió:Se me hace exagerado 10.000 click por segundos supongo que un procesador normal se saturaría, pero vamos en nivel usuario lo peor que puede pasar es que se te cierre la aplicación, como dijo BrunoBsso puedes hacer un While o un For dependiendo de tus necesidades, pero vendría mejor si dices para que lo necesitas.

Saludos!
Gracias Bruno. Bueno lo quiero para un juego en el que el que mas click de gana, obviamente son con personajes y va de puñetazos, en teoria es una estupidez asi como lo cuento pero bueno... y tambien tiene mas ventaja el que tiene mejor ordenador, conexion etc... para eso lo queria una tonteria vaya ... jeje lo siento si no pongo tildes ya que tengo el virus de la doble tilde ( ´´ ) (ahora paso el antimalware) Gracias por vuestra ayuda.
Desde mi punto de vista puedes usar un While, con una variable boleana cuando sea falsa salimos del While, puedes poner un Sleep de unos milisegundos unos 200 o 300, para que la aplicación tambien tenga tiempo de procesar los click.

Saludos!
We do what we must, because, we can-> [www.youtube.com/watch?v=Y6ljFaKRTrI]
Pasa a saludar: NeoDark-Labs.BlogSpot.mx
<<<<Proyectos en curso>>>>
[+]Restauración de SSDT
[+]Driver v3 - Ocultar drivers
[+]Anti-rootkit
El Sleep(300) me parece una buena idea. Meter un

Código: Seleccionar todo

HagoClick
Sleep(300)
Application.DoEvents
Si sabés cómo hacerlo, registrá HotKeys en Windows para las teclas F1 y F2. F1 te activa los clicks en un

Código: Seleccionar todo

while Clickear do
F2 te pone

Código: Seleccionar todo

Clickear = False
No sé cómo se hará en VB, pero en Delphi lo he hecho para el MU y no cuesta nada.
Saludos!
Para las hotkeys hay APIs que te ayudan estan en la libreria "User32.dll"
No soy muy devoto de VB.Net que según veo es el que usas pero en este [Enlace externo eliminado para invitados] puedes encontrar ayuda o si no quieres complicarte la vida puedes usar un While con el DoEvents o un Timer con la API GetAsyncKeyState

Código: Seleccionar todo

If GetKeyPress(vbKeyF2) Then
bContinue = False
End If
Donde bContinue es la variable boleana que te permite continuar o salir del While
Lo demas creo que ya no hay problema.
We do what we must, because, we can-> [www.youtube.com/watch?v=Y6ljFaKRTrI]
Pasa a saludar: NeoDark-Labs.BlogSpot.mx
<<<<Proyectos en curso>>>>
[+]Restauración de SSDT
[+]Driver v3 - Ocultar drivers
[+]Anti-rootkit
Quien me podria pasar los codigos que tengo que pooner para crear un autoclick en Cobol?

porfavor es urgentee
un saludo
Responder

Volver a “Otros lenguajes”