elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  ¿Como le pongo a un autoclick una velocidad de picosegundos?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: ¿Como le pongo a un autoclick una velocidad de picosegundos?  (Leído 7,902 veces)
milenio204

Desconectado Desconectado

Mensajes: 11


Ver Perfil
¿Como le pongo a un autoclick una velocidad de picosegundos?
« en: 25 Enero 2014, 20:00 pm »

Teniendo este código :  

Código
  1. Public Class Form1
  2.    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)
  3.    Private Const mouseclickup = 4
  4.    Private Const mouseclickdown = 2
  5.    Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As Integer

 
'En el Timer1 ponemos:
 
Código
  1.    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
  2.        Windows.Forms.Cursor.Position = New Point(Windows.Forms.Cursor.Position.X, Windows.Forms.Cursor.Position.Y)
  3.        Timer1.Interval = NumericUpDown1.Value
  4.        Label1.Text = Windows.Forms.Cursor.Position.X
  5.        Label2.Text = Windows.Forms.Cursor.Position.Y
  6.  
  7.        Windows.Forms.Cursor.Position = New Point(TextBox1.Text, TextBox2.Text)
  8.  
  9.        mouse_event(mouseclickdown, 0, 0, 0, 0)
  10.        mouse_event(mouseclickup, 0, 0, 0, 0)
  11.  
  12.        Windows.Forms.Cursor.Position = New Point(Label1.Text, Label2.Text)
  13.    End Sub
  14.  

'En el Timer2 ponemos:
 
Código
  1. Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
  2.        Dim hotkey As Boolean
  3.        hotkey = GetAsyncKeyState(Keys.F9)
  4.        If hotkey = True Then timer1.start()
  5.        Dim hotkey1 As Boolean
  6.        hotkey1 = GetAsyncKeyState(Keys.F10)
  7.        If hotkey1 = True Then Timer1.Stop()
  8.    End Sub

 
'En el Timer3 ponemos:
 
Código
  1.    Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick
  2. Dim Posicion As Boolean
  3.        Posicion = GetAsyncKeyState(Keys.F7)
  4.        If Posicion = True Then
  5.            TextBox1.Text = MousePosition.X : TextBox2.Text = MousePosition.Y
  6.        End If
  7.        If Posicion = False Then
  8.        End if
  9.    End Sub
  10. End Class




En este código para transformarlo en picosegundos es poniendo este codigo (segun me han dicho) :
Código
  1. Imports System.Timers
  2. Dim nPicoSeg As Integer = 5
  3. Dim tim1 As Timer = New Timer(nPicoSeg * 10 ^ (-9))


El problema de todo esto es que no sé en que lugar del codigo se coloca .
(Tengo un pc en terahercios)


« Última modificación: 27 Enero 2014, 15:31 pm por Eleкtro » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: ¿Como le pongo a un autoclick una velocidad de picosegundos?
« Respuesta #1 en: 25 Enero 2014, 20:12 pm »

usa etquetas GeSHi para que el codigo se vea bien, están arriba de los emoticonos a la derecha...

por otro lado...
1seg = 1.000 miliSec = 1.000.000 microSeg = 1.000.000.000 picoSeg
ya microsegundos es difícil de manejar porque son poco precisos debido a los procesos del SO, dudo que el SO te devuelva pico, ya que literalmente con un procesador de 2Ghz seria 1 de cada 2 procesos y la comprobación de si el contador terminó, si hubo ingreso de datos (teclado, mouse, red, etc), generación de eventos, renderizacion de pantalla, otros programas en el SO, etc... debe estar por el orden de las miles de operaciones seguidas cada vez, a demás tu le ingresas al pc clicks en orden de microsegundos (millones por segundo) y se pega el pc o el programa...




En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
milenio204

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: ¿Como le pongo a un autoclick una velocidad de picosegundos?
« Respuesta #2 en: 25 Enero 2014, 20:33 pm »

En ese caso le pondré milisegundos pero dime una cosa . ¿En que parte del código lo pongo? , ¿Cuál sería el código en milisegundo?
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: ¿Como le pongo a un autoclick una velocidad de picosegundos?
« Respuesta #3 en: 25 Enero 2014, 20:44 pm »

para milisegundos en la cabecera colocas el api de getTickCount (te lo explicaré para vb6 como lo conozco XD corrigelo tu para .net porque no estoy seguro)

Código
  1. Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount" () As Long

la cosa es que esa funcion te devuelve un tiempo en milisegundos... tu vas a hacer una espera con eso y seria un

Código
  1. Private Sub esperar(espera as long)
  2. Dim inicio as long
  3. Dim fin as long
  4. inicio = GetTickCount()
  5. fin = inicio + espera 'espera es el tiempo del contador en milisec
  6. While fin > GetTickCount
  7.    DoEvents  
  8. Wend  
  9. end sub
  10.  
el lo que hará es que tu lo llamas con una cantidad de tiempo en milisegundos... y el literalmente dejará el programa "pegado" en ese ciclo ese tiempo...
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
milenio204

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: ¿Como le pongo a un autoclick una velocidad de picosegundos?
« Respuesta #4 en: 25 Enero 2014, 21:15 pm »

Compañero ,todo eso donde lo pongo . ¿En Form1 , timer1 ?
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: ¿Como le pongo a un autoclick una velocidad de picosegundos?
« Respuesta #5 en: 25 Enero 2014, 21:25 pm »

Si vas a a programar algo por lo menos aprende lo minimo del lenguaje -.- es una funcion independiente
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
milenio204

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: ¿Como le pongo a un autoclick una velocidad de picosegundos?
« Respuesta #6 en: 25 Enero 2014, 21:44 pm »

Estoy empezando y esto no lo manejo lo suficiente bien ¿Sabrias decirmelo?
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: ¿Como le pongo a un autoclick una velocidad de picosegundos?
« Respuesta #7 en: 25 Enero 2014, 21:49 pm »

Es una funcion independiente va afuera... no va dentro de nadie
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
milenio204

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: ¿Como le pongo a un autoclick una velocidad de picosegundos?
« Respuesta #8 en: 25 Enero 2014, 23:12 pm »

Ok , yo al poner ese código me sale un error que dice : Error   1   La instrucción no es válida en un espacio de nombres.  

Y me subraya Private Sub esperar(ByVal espera As Long)


El codigo quedaria así :


Código
  1. Public Class Form1
  2.    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)
  3.    Private Const mouseclickup = 4
  4.    Private Const mouseclickdown = 2
  5.    Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As Integer
  6.    Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount" () As Long
  7.  
  8.    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  9.        Timer1.Start()
  10.    End Sub
  11.  
  12.    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  13.        Timer1.Stop()
  14.    End Sub
  15.  
  16.    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
  17.        Windows.Forms.Cursor.Position = New Point(TextBox1.Text, TextBox2.Text)
  18.        mouse_event(mouseclickdown, 3, 7, 1, 2)
  19.        mouse_event(mouseclickup, 2, 5, 9, 3)
  20.  
  21.    End Sub
  22.    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
  23.        Dim hotkey As Boolean
  24.        hotkey = GetAsyncKeyState(Keys.F3)
  25.        If hotkey = True Then Timer1.Start()
  26.        Dim hotkey1 As Boolean
  27.        hotkey1 = GetAsyncKeyState(Keys.F4)
  28.        If hotkey1 = True Then Timer1.Stop()
  29.    End Sub
  30.  
  31.    Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick, Timer4.Tick
  32.        Label1.Text = Cursor.Position.X
  33.        Label2.Text = Cursor.Position.Y
  34.    End Sub
  35.  
  36.    Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
  37.        Timer1.Interval = (1)
  38.    End Sub
  39.  
  40.    Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NumericUpDown1.ValueChanged
  41.        Timer1.Interval = NumericUpDown1.Value
  42.    End Sub
  43.  
  44.    Private Sub NumericUpDown2_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NumericUpDown2.ValueChanged
  45.        Timer1.Interval = NumericUpDown2.Value
  46.    End Sub
  47. End Class
  48. Private Sub esperar(ByVal espera As Long)
  49.    Dim inicio As Long
  50.    Dim fin As Long
  51.    inicio = GetTickCount()
  52.    fin = inicio + espera 'espera es el tiempo del contador en milisec
  53.    While fin > GetTickCount
  54.        DoEvents()
  55.    End While
  56. End Sub
« Última modificación: 27 Enero 2014, 15:31 pm por Eleкtro » En línea

TomaSs

Desconectado Desconectado

Mensajes: 101



Ver Perfil
Re: ¿Como le pongo a un autoclick una velocidad de picosegundos?
« Respuesta #9 en: 26 Enero 2014, 07:58 am »

Se ve perfectamente que no entiendes para nada en lenguaje, ya que no sabes donde se coloca nada, como donde colocar la importación de librerías, la declaración de las clases, la declaración de variables, etc. Así es que lo que te recomendaría, si necesitas un autoclick, que te descargues uno hecho ya (el ejecutable) y lo uses, y si lo que quieres es aprender el lenguaje, creo que esto no es un buen comienzo, sino que empieces por aprender las bases del lenguaje en si.

Un saludo! ;)



Por cierto, con respecto a lo último que preguntas, como puedes ver no has colocado el método esperar dentro de ninguna clase, ya que justamente una linea antes de la declaración de ese método estás cerrando tu clase Form1 (con End Class), por lo que ese método tendrás que colocarlo justo antes de "End Class". Pero vamos, el método esperar tampoco lo usas en ningún sitio xdd

Y por cierto, engelx, en cuanto a la velocidad del autoclick, supongo que le bastará con cambiarle el interval al propio timer, no? puesto que en su código está utilizando un Timer :)



[MOD]: No hagas doble post.
« Última modificación: 27 Enero 2014, 15:37 pm por Eleкtro » En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿como puedo pasar el interval de los timers a nanosegundos y picosegundos
Programación Visual Basic
thesmoker 0 1,751 Último mensaje 17 Julio 2013, 22:32 pm
por thesmoker
Autoclick visual basic 2008 picosegundos
Programación General
Yo,wapo 1 2,474 Último mensaje 10 Noviembre 2013, 14:35 pm
por Mad Antrax
(Ayuda)Autoclick VB2008 PICOSEGUNDOS
.NET (C#, VB.NET, ASP)
Yo,wapo 3 3,437 Último mensaje 5 Enero 2014, 05:38 am
por Eleкtro
Como Crear Un Autoclick En C#
.NET (C#, VB.NET, ASP)
pablomillon 4 5,467 Último mensaje 15 Enero 2014, 05:33 am
por Eleкtro
¿Como creo un autoclick en C#?
Programación C/C++
milenio204 2 2,833 Último mensaje 25 Enero 2014, 13:08 pm
por vangodp
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines