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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Mouse Recorder
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Mouse Recorder  (Leído 4,237 veces)
SγиtαxEяяoя

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Mouse Recorder
« en: 25 Mayo 2013, 22:32 pm »

Hola, estoy en la creacion de un auto mouse que de click en especificas coordenadas...

algo como esto







y para ver la coordenada especifica



Código:
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.KeyPreview = True
    End Sub
    Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
        If e.KeyCode.ToString = "F1" Then
            Me.KeyPreview = True
            System.Threading.Thread.Sleep(1000)
            TextBox1.Text = System.Windows.Forms.Cursor.Position.X
            TextBox2.Text = System.Windows.Forms.Cursor.Position.Y
        End If
        If e.KeyCode.ToString = "F2" Then
            Clipboard.SetText(TextBox1.Text & " - " & TextBox2.Text)
            TextBox3.Text = Clipboard.GetText
        End If
    End Sub
End Class


« Última modificación: 26 Mayo 2013, 00:45 am por SyntaxError404 » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Mouse Recorder
« Respuesta #1 en: 26 Mayo 2013, 00:10 am »

Vaya, me has recordado la primera aplicación que hice en vbnet.

que al pulsar la tecla "F1" se copie la coordenada al portapapeles

EDITO: Puedes usar el evento KeyPress en el form para capturar las teclas presionadas, y luego comparas si la tecla presionada es "F1".

De mi proyecto puedes sacar lo que necesitas para lo de "F1" (pero intenta comprenderlo y no solo copiarlo):

[Aporte] [VS2012] Mouse XY (Devuelve las coordenadas del mouse)



Saludos!


« Última modificación: 26 Mayo 2013, 00:12 am por EleKtro H@cker » En línea



SγиtαxEяяoя

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Re: Mouse Recorder
« Respuesta #2 en: 26 Mayo 2013, 00:14 am »

No sirve ninguno de los links

EDITO:

Código:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.KeyPreview = True
    End Sub

    Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
        If e.KeyCode.ToString = "F1" Then
            Me.KeyPreview = True
            System.Threading.Thread.Sleep(2000)
            TextBox1.Text = System.Windows.Forms.Cursor.Position.X
            TextBox2.Text = System.Windows.Forms.Cursor.Position.Y

        End If
    End Sub

Tecla F1 Captura la posicion actual del mouse y las anota en los Textbox
« Última modificación: 26 Mayo 2013, 00:19 am por SyntaxError404 » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Mouse Recorder
« Respuesta #3 en: 26 Mayo 2013, 00:19 am »

No sirve ninguno de los links

assshhhh es cierto creí que lo subí a mi server, perdón, ya está arreglado, vuelve a mirar el post :)

Saludos
En línea



SγиtαxEяяoя

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Re: Mouse Recorder
« Respuesta #4 en: 26 Mayo 2013, 00:26 am »

assshhhh es cierto creí que lo subí a mi server, perdón, ya está arreglado, vuelve a mirar el post :)

Saludos

Ya logre la funcion del keypress

ahora me basare en tu ejemplo para usar el Clipboard

Edito: no se puede ver el codigo ajajja pide contraseña  :laugh: :laugh:

Nuevamente "Edito" xD

Código:
Clipboard.SetText(TextBox1.Text & "." & TextBox2.Text)
« Última modificación: 26 Mayo 2013, 00:36 am por SyntaxError404 » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Mouse Recorder
« Respuesta #5 en: 26 Mayo 2013, 00:33 am »

Edito: no se puede ver el codigo ajajja pide contraseña  :laugh: :laugh:

Vete a las propiedades del proyecto, en la pestaña "signing" y desactiva las casillas, elimina el archivo "ElektroSoft.pfx" en el proyecto si es necesario. Así ya podrás usarlo.

PD: Mis proyectos no los subo con firma, pero este se habia caido y lo he tenido que resubir como lo tengo (con la firma digital).

un saludo!

EDITO: De todas formas lo del bloc de notas solo requiere una línea de esfuerzo:

Código:
Clipboard.SetText("Coordenadas")
« Última modificación: 26 Mayo 2013, 00:37 am por EleKtro H@cker » En línea



SγиtαxEяяoя

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Re: Mouse Recorder
« Respuesta #6 en: 26 Mayo 2013, 07:14 am »

Código:
Public Class Form1

    Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Integer, ByVal dx As Integer, ByVal dy As Integer, ByVal cButtons As Integer, ByVal dwExtraInfo As Integer)
    Private Const MOUSEEVENTF_LEFTDOWN = &H2
    Private Const MOUSEEVENTF_LEFTUP = &H4
    Private Const MOUSEEVENTF_RIGHTDOWN = &H8
    Private Const MOUSEEVENTF_RIGHTUP = &H10

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.KeyPreview = True
    End Sub
    Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
        If e.KeyCode.ToString = "F1" Then
            Me.KeyPreview = True

            TextBoxX.Text = System.Windows.Forms.Cursor.Position.X
            TextBoxY.Text = System.Windows.Forms.Cursor.Position.Y
            ListBoxX.Items.Add(TextBoxX.Text)
            ListBoxY.Items.Add(TextBoxY.Text)
        End If
        If e.KeyCode.ToString = "F2" Then
            ListBoxX.SelectedIndex = 0
            ListBoxY.SelectedIndex = 0
            Timer1.Start()
        End If
        If e.KeyCode.ToString = "F3" Then
            ListBoxX.Items.Clear()
            ListBoxY.Items.Clear()
            Timer1.Stop()
        End If
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        If ListBoxX.SelectedIndex = ListBoxY.Items.Count - 1 = True Then
            Timer1.Enabled = False
        Else
            ListBoxX.SelectedIndex = ListBoxX.SelectedIndex + 1
            ListBoxY.SelectedIndex = ListBoxY.SelectedIndex + 1

            Cursor.Position = New Point(ListBoxX.SelectedItem, ListBoxY.SelectedItem)
            mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
            mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)

        End If
    End Sub
End Class


Como asigno la funcion de cliks "izquierdo y derecho"

para que cuando este grabando los movimientos este los detecte y al reproducir precione los clicks
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Mouse Recorder
« Respuesta #7 en: 26 Mayo 2013, 16:19 pm »

Puedes hacerlo de la siguiente manera:

Captura/Guarda cada coordenada en una lista de punteros.
Captura/Guarda cada click en un tipo de diccionario.
Luego, reproduce el contenido de la lista y del diccionario.

Ejemplo:



Código
  1. Public Class Form1
  2.  
  3.    ' BY ELEKTRO H@CKER
  4.    ' Copia este Form en un nuevo proyecto y ejecútalo.
  5.  
  6.    Dim Coordenates_List As New List(Of Point)
  7.    Dim Clicks_Dictionary As New Dictionary(Of Int64, MouseButton)
  8.  
  9.    Dim Click_Count As Int32 = 0
  10.    Dim Last_ClickState_Left As Int64 = 999
  11.    Dim Last_ClickState_Right As Int64 = 999
  12.  
  13.    Dim WithEvents Record_Timer As New Timer
  14.  
  15.    Dim WithEvents Button_Record As New Button, Button_Stop As New Button, Button_Reproduce As New Button
  16.  
  17.    Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
  18.  
  19.    Public Declare Sub Mouse_Event Lib "User32" Alias "mouse_event" (ByVal dwFlags As MouseButton, ByVal dx As Integer, ByVal dy As Integer, ByVal dwData As Integer, ByVal dwExtraInfo As Integer)
  20.  
  21.    Public Thread_is_completed As Boolean = False
  22.  
  23.    Dim Thread_MousePlay_Var As System.Threading.Thread = New Threading.Thread(AddressOf Thread_MousePlay)
  24.  
  25.    Public Enum MouseButton
  26.  
  27.        Left_Down = &H2    ' Left button (hold)
  28.        Left_Up = &H4      ' Left button (release)
  29.  
  30.        Right_Down = &H8   ' Right button (hold)
  31.        Right_Up = &H10    ' Right button (release)
  32.  
  33.        Middle_Down = &H20 ' Middle button (hold)
  34.        Middle_Up = &H40   ' Middle button (release)
  35.  
  36.        Left               ' Left   button (press)
  37.        Right              ' Right  button (press)
  38.        Middle             ' Middle button (press)
  39.  
  40.    End Enum
  41.  
  42.    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  43.        Record_Timer.Interval = 15
  44.        Button_Record.Text = "Record" : Button_Stop.Text = "Stop" : Button_Reproduce.Text = "Reproduce"
  45.        Button_Record.Location = New Point(20, 20) : Button_Stop.Location = New Point(Button_Record.Right + 10, 20) : Button_Reproduce.Location = New Point(Button_Stop.Right + 10, 20)
  46.        Me.Controls.Add(Button_Record) : Me.Controls.Add(Button_Stop) : Me.Controls.Add(Button_Reproduce)
  47.        Me.Size = New Point(300, 100)
  48.    End Sub
  49.  
  50.    Private Sub Button_Record_Click(sender As Object, e As EventArgs) Handles Button_Record.Click
  51.        Coordenates_List.Clear() : Clicks_Dictionary.Clear() : Click_Count = 0
  52.        Record_Timer.Start()
  53.    End Sub
  54.  
  55.    Private Sub Button_Stop_Click(sender As Object, e As EventArgs) Handles Button_Stop.Click
  56.        Record_Timer.Stop()
  57.    End Sub
  58.  
  59.    Private Sub Button_Reproduce_Click(sender As Object, e As EventArgs) Handles Button_Reproduce.Click
  60.  
  61.        Thread_MousePlay_Var = New Threading.Thread(AddressOf Thread_MousePlay)
  62.        Thread_MousePlay_Var.IsBackground = True
  63.        Thread_MousePlay_Var.Start()
  64.  
  65.        Thread_is_completed = False
  66.        While Not Thread_is_completed = True : Application.DoEvents() : End While
  67.        MsgBox("Finished")
  68.  
  69.    End Sub
  70.  
  71.    Private Sub Record_Timer_Tick(sender As Object, e As EventArgs) Handles Record_Timer.Tick
  72.  
  73.        Coordenates_List.Add(MousePosition)
  74.  
  75.        If Not Last_ClickState_Left = GetAsyncKeyState(1) Then
  76.            Last_ClickState_Left = GetAsyncKeyState(1)
  77.            If GetAsyncKeyState(1) = 32768 Then
  78.                Click_Count += 1
  79.                Coordenates_List.Add(Nothing)
  80.                Clicks_Dictionary.Add(Click_Count, MouseButton.Left_Down)
  81.            ElseIf GetAsyncKeyState(1) = 0 Then
  82.                Click_Count += 1
  83.                Coordenates_List.Add(Nothing)
  84.                Clicks_Dictionary.Add(Click_Count, MouseButton.Left_Up)
  85.            End If
  86.        End If
  87.  
  88.        If Not Last_ClickState_Right = GetAsyncKeyState(2) Then
  89.            Last_ClickState_Right = GetAsyncKeyState(2)
  90.            If GetAsyncKeyState(2) = 32768 Then
  91.                Click_Count += 1
  92.                Coordenates_List.Add(Nothing)
  93.                Clicks_Dictionary.Add(Click_Count, MouseButton.Right_Down)
  94.            ElseIf GetAsyncKeyState(2) = 0 Then
  95.                Click_Count += 1
  96.                Coordenates_List.Add(Nothing)
  97.                Clicks_Dictionary.Add(Click_Count, MouseButton.Right_Up)
  98.            End If
  99.        End If
  100.  
  101.    End Sub
  102.  
  103.    Private Sub Mouse_Click(ByVal MouseButton As MouseButton)
  104.        Select Case MouseButton
  105.            Case MouseButton.Left : Mouse_Event(MouseButton.Left_Down, 0, 0, 0, 0) : Mouse_Event(MouseButton.Left_Up, 0, 0, 0, 0)
  106.            Case MouseButton.Right : Mouse_Event(MouseButton.Right_Down, 0, 0, 0, 0) : Mouse_Event(MouseButton.Right_Up, 0, 0, 0, 0)
  107.            Case MouseButton.Middle : Mouse_Event(MouseButton.Middle_Down, 0, 0, 0, 0) : Mouse_Event(MouseButton.Middle_Up, 0, 0, 0, 0)
  108.            Case Else : Mouse_Event(MouseButton, 0, 0, 0, 0)
  109.        End Select
  110.    End Sub
  111.  
  112.    Sub Thread_MousePlay()
  113.  
  114.        Click_Count = 0
  115.  
  116.        For Each Coordenate In Coordenates_List
  117.            Application.DoEvents()
  118.            Threading.Thread.Sleep(15)
  119.  
  120.            If Coordenate = Nothing Then
  121.                Click_Count += 1
  122.                If Click_Count > 1 Then Mouse_Click(Clicks_Dictionary.Item(Click_Count))
  123.            Else
  124.                System.Windows.Forms.Cursor.Position = Coordenate
  125.            End If
  126.  
  127.        Next
  128.  
  129.        Thread_is_completed = True
  130.  
  131.    End Sub
  132.  
  133. End Class
« Última modificación: 26 Mayo 2013, 16:37 pm por EleKtro H@cker » En línea



SγиtαxEяяoя

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Re: Mouse Recorder
« Respuesta #8 en: 26 Mayo 2013, 17:01 pm »

Probe tu codigo y genial, pero ya tenia los botones integrados asi que examinare a fondo el codigo y sacare las partes que lo componen para los click y lo integro en mi codigo..

Gracias por la ayuda :)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
camtasia recorder « 1 2 »
Multimedia
^mark^ 12 5,620 Último mensaje 7 Marzo 2005, 05:28 am
por ^mark^
[C++] Recorder Day
Programación C/C++
..:ALT3RD:.. 2 2,037 Último mensaje 8 Diciembre 2011, 11:56 am
por ..:ALT3RD:..
¿Alguien sabe como escribir un numero aleatorio con mouse recorder?
Scripting
WhiterGamer 1 2,456 Último mensaje 30 Junio 2017, 22:53 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines