Título: (AYUDA) Crear un ¿auto-tip? Publicado por: nhydawn en 16 Julio 2016, 16:34 pm Hola hola gente, voy a ir directo al grano, esto intentado crear/programar un auto-tip (nombre que se me ocurrio porque no tengo idea de como se llama/llamaria) la idea es crear un programita sencillo que al presionar F8 se inicia y comienza a auto-tipear las letras Q y W de formar rapida y repetida hasta que se presiona F9 para detener el programa, estuve viendo tutoriales de autoclicks porque supuse que es bastante similar, pero no puedo lograrlo, ¿es posible que me ayuden? Creo que seria un codigo bastante sencillo ;D pero la verdad no tengo idea de programación :xD espero que puedan ayudarme, saludos :rolleyes:
Título: Re: (AYUDA) Crear un ¿auto-tip? Publicado por: XresH en 16 Julio 2016, 19:37 pm Holas, sino sabes programar no podemos guiarte en tu trabajo, ya que no vas a poder seguir ningun consejo ni idea, te facilito un enlace pero deberias buscar en google.
http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/24.htm Y por aca algo de este foro que esta bastante bien por lo que vi. https://foro.elhacker.net/programacion_vb/pulsando_teclas_con_visual_basic-t257211.0.html Con este ejemplo podes detectar el codigo de la tecla, despues con un SendKeys podrias presionarla con la ref obtenida: http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/24.htm Título: Re: (AYUDA) Crear un ¿auto-tip? Publicado por: nhydawn en 16 Julio 2016, 19:58 pm Algo me dice que no va a ser facil :P
Digamos, si me guio con una guia de la programación de un auto-click (es que de esto si encontre en youtube) y de alguna forma milagrosa lo modifico para que cumpla la misma funcion pero en vez de clickear, que tipee Q y W. ¿Seria posible? ¿o los codigos cambian totalmente? :-\ Título: Re: (AYUDA) Crear un ¿auto-tip? Publicado por: nhydawn en 16 Julio 2016, 21:07 pm Googleando un poco me tope con esto:
http://foro.elhacker.net/hacking_avanzado/pulsador_tecla_automatico-t354968.0.html Pide lo mismo que yo, intente descargarlo para modificarlo con la tecla "Q" al menos, peeeeeeeero.. obviamente el link está caido, ¿alguien me daria una mano y me crea uno para que yo pueda modificarlo y aprender desde ahi? ;D les estaria agradecido de por vida ;-) Título: Re: (AYUDA) Crear un ¿auto-tip? Publicado por: nhydawn en 17 Julio 2016, 17:17 pm ¿Nadie? :silbar: al menos una miniguia para hacerlo :silbar: porfa :rolleyes:
Título: Re: (AYUDA) Crear un ¿auto-tip? Publicado por: pkj en 17 Julio 2016, 19:45 pm El caso es que las pulsaciones automáticas dan muchos problemas.
Ver la tecla pulsada es facil, pero pulsar una tecla en otro programa no suele serlo. Esto sería la base de tu programa: Puedes probarlo en un nuevo proyecto con 2 timer y un textbox (que puse para las pruebas). Después de probarlo anula la línea que pone "Text1.SetFocus" y pruebalo, pero no te va a mandar teclas a otros programas. Busca por ahí los diferentes modos de enviar pulsaciones que encuentres a ver si te van mejor que SendKeys y nos cuentas. Código
Saludos Título: Re: (AYUDA) Crear un ¿auto-tip? Publicado por: Eleкtro en 17 Julio 2016, 21:22 pm auto-tip (nombre que se me ocurrio porque no tengo idea de como se llama/llamaria) Para que puedas darle un nombre mejor, te digo que en todo caso más bien seria "auto-type", por que un "tip" es algo muy distinto que nada tiene que ver. Veo que has buscado como hacer esto en otros lenguajes (por aquél post que has compartido), así que te pregunto: ¿realmente necesitas hacerlo en VB6?. Si el lenguaje te es indiferente entonces puedo mostrarte una manera facilisima e intuitiva utilizando mi librería gratuita ElektroKit, mediante VB.NET o C#. También deberías aclarar si simplemente pretendes enviar pulsaciones del teclado sin más, o más bien pretendes adjuntar texto a la ventana de edición de un programa de terceros. Son dos cosas muy distintas con sus respectivas técnicas. Saludos Título: Re: (AYUDA) Crear un ¿auto-tip? Publicado por: nhydawn en 18 Julio 2016, 07:26 am Muchas gracias por las respuestas, pkj gracias por el codigo, voy a intentar hacerlo funcionar ;D
Elektro, no no para nada, cualquier lenguaje que me ayude a lograr lo que necesito me vendria bien, la idea es que las pulsaciones se envien a un juego, lo que estoy pidiendo en este post para no andar con rodeos es un "auto-pot" (pot=pociones) si no es mucha molestia, estaria buenisimo que me ayudes a programarlo como vos decis ;D Título: Re: (AYUDA) Crear un ¿auto-tip? Publicado por: Eleкtro en 18 Julio 2016, 09:14 am Muchas gracias por las respuestas, pkj gracias por el codigo, voy a intentar hacerlo funcionar ;D Elektro, no no para nada, cualquier lenguaje que me ayude a lograr lo que necesito me vendria bien, la idea es que las pulsaciones se envien a un juego, lo que estoy pidiendo en este post para no andar con rodeos es un "auto-pot" (pot=pociones) si no es mucha molestia, estaria buenisimo que me ayudes a programarlo como vos decis ;D Entonces, si no he entendido mal, ¿quieres que mientras tú estás jugando al juego (es decir, mientras la ventana del juego está activa), cada "X" tiempo se pulse la tecla para tomar una poción?. En ese caso lo podrías hacer de la siguiente manera: 1. Descarga la librería ElektroKit:
2. Utiliza un código parecido a este: Código: Imports System.Threading Imports System.Threading.Thread Imports System.Windows.Forms Imports Elektro.Core.IO.Enums Imports Elektro.Core.IO.Tools Public Module Module1 Public Sub Main() Console.Title = "Auto-Potion" Console.WriteLine("Press any key to start...") Console.ReadKey(intercept:=True) Module1.RunBot() End Sub <DebuggerStepperBoundary> Private Sub RunBot() ' Añadir tareas aquí. Dim potionAction As Action = Sub() Module1.TakePotion(TimeSpan.FromSeconds(3)) Dim potionTask As New Task(potionAction) ' Iniciar tareas aquí (asincrónicamente). Console.Clear() Console.WriteLine("Bot is running...") potionTask.Start() ' Esperar sincrónicamente a que todas las tareas asincrónicas finalicen. Task.WaitAll({potionTask}) End Sub <DebuggerStepThrough> Private Sub TakePotion(ByVal interval As TimeSpan) Dim success As Boolean Do While True Sleep(interval) success = (Keyboard.SendKey(Keys.F1, KeyBehavior.Press) = 2) If (success) Then Console.WriteLine("[{0}] Potion consumed.", DateTime.Now.ToLongTimeString()) Else Environment.ExitCode = 1 Environment.FailFast(String.Format("Not all keystrokes were sent in Method: '{0}()'.", New StackFrame(0).GetMethod.Name)) End If Loop End Sub End Module Saludos Título: Re: (AYUDA) Crear un ¿auto-tip? Publicado por: Eleкtro en 18 Julio 2016, 10:40 am Hay un BUG en el foro que no me permite publicar el código de forma deseada ni modificar el post correctamente, así que lo siento, pero hago este doble post.
>>> Con la misma librería puedes identificar "X" ventana si lo llegas a necesitar (para darle el foco o lo que quieras), y también puedes registrar teclas de acceo rápido (o system-wide hotkeys) para pausar el bot en cualquier momento, pero eso ya sería conveniente hacerlo en una GUI por el paradigma de eventos, lo que te he mostrado es una aplicación CLI escrita en VB.NET. Saludos Título: Re: (AYUDA) Crear un ¿auto-tip? Publicado por: nhydawn en 18 Julio 2016, 13:41 pm Wooo wooo eso es exactamente lo que necesito, que poteé mientras yo juego, agradezco muchisimo tu ayuda, ahora una pregunta, que deberia modificar para que funcione? El juego en el adm de tareas aparece como Main.exe y las teclas a tipearse son Q y W (o solamente Q si es mas sencillo así). Otra duda, cuando dices GUI te refieres a una ventanita con botones y demas? Seria demasiado pedir que me lo programes ya funcionando? ;D porque lo que acabo de leer es chino basico para mi :o pero de verdad en caso que no quieras agradezco mucho tu ayuda, ahora voy a buscar una guia de VB.NET a ver si lo puedo hacer yo pero lo veo dificil :-\
Título: Re: (AYUDA) Crear un ¿auto-tip? Publicado por: Eleкtro en 18 Julio 2016, 15:08 pm que deberia modificar para que funcione? El juego en el adm de tareas aparece como Main.exe y las teclas a tipearse son Q y W (o solamente Q si es mas sencillo así). Citar Código
Solo tienes que cambiar la tecla "F1" por la que desees, y añadir más instrucciones debajo de esa linea en caso de que quieras enviar más pulsaciones adicionales (Q -> W -> etc...) cuando dices GUI te refieres a una ventanita con botones y demas? Si. Seria demasiado pedir que me lo programes ya funcionando? Si, lo siento pero es demasiado pedir. Una cosa es que te ayudemos en poca o gran medida, y otra cosa que te lo hagamos todo, aunque practicamente ya te lo di todo hecho, solo tienes que adaptar el código que te ofrecí. lo que acabo de leer es chino basico para mi :o Supongo que tienes nociones de VB6, entonces no te sería demasiado dificil aprender VB.NET, tampoco tienes que aprender nada avanzado para adaptar ese código (bueno, a menos que quieras profundizar en la programación asincrónica). Saludos! Título: Re: (AYUDA) Crear un ¿auto-tip? Publicado por: nhydawn en 18 Julio 2016, 16:11 pm Perfecto ;D voy a intentar hacerlo y les comento como me fue :silbar:
Título: Re: (AYUDA) Crear un ¿auto-tip? Publicado por: Lekim en 20 Julio 2016, 12:58 pm Hola
No dices para que tipo de juego, de ventana, Internet, pantalla completa. Los de Mame32 no dejan. Lo digo por si quieres que dispare constantemente. Para enviar en mensaje sólo a ese juego yo primero obtendría el handle de la ventana y enviaría el mensaje de pulsación de tecla a esa ventana. Pero esto lo he hecho con juegos que tienen algún tipo de identificador para poder enviar el mensaje. Nunca lo he hecho por ejemplo con juegos de internet. En este caso no se si sería enviarlo a la ventana de navegador. Si lo quieres para VB6 si quieres te lo pongo, pero puedes encontrar un porrón de ejemplos en Internet. s2s Título: Re: (AYUDA) Crear un ¿auto-tip? Publicado por: nhydawn en 21 Julio 2016, 17:30 pm Lekim, el juego es Mu 99c una version viejita ya, yo lo ejecuto en modo ventana pero tambien tiene pantalla completa, emm me podrias ayudar a programar el auto-pot? Yo lo intente pero no me funciona :(
Título: Re: (AYUDA) Crear un ¿auto-tip? Publicado por: Lekim en 22 Julio 2016, 14:18 pm Lekim, el juego es Mu 99c una version viejita ya, yo lo ejecuto en modo ventana pero tambien tiene pantalla completa, emm me podrias ayudar a programar el auto-pot? Yo lo intente pero no me funciona :( ¿Es este? http://mupirata.com.ar/99c/index.php (http://mupirata.com.ar/99c/index.php) Me lo estoy descargando desde mega, ¿Es Cliente99cConSonido.exe? Más que nada es para probar porque cada juego es un mundo. Así, no hay que hacer 30 posts Imagino que es para PC ¿Es online? Espero no tener que registrarme ni nada de eso :¬¬ Nunca he usado pero he visto en foros que hay programas ya echos para esto como uno llamado AutoHotkey (https://es.wikipedia.org/wiki/AutoHotkey) Que envía pulsaciones de teclas de forma automática. No lo he probado pero podrías probar, a lo mejor te sirve. http://ahkscript.org/ (http://ahkscript.org/) Título: Re: (AYUDA) Crear un ¿auto-tip? Publicado por: nhydawn en 22 Julio 2016, 18:43 pm Es ese precisamente jaja sisi. Cliente sin sonido. Y si, te tenes que registrar :xD ahora voy a probar el programa que me dijiste recien..
Título: Re: (AYUDA) Crear un ¿auto-tip? Publicado por: Lekim en 23 Julio 2016, 12:35 pm Es ese precisamente jaja sisi. Cliente sin sonido. Y si, te tenes que registrar :xD ahora voy a probar el programa que me dijiste recien.. Pues que quiere que te diga no me pienso registrar :-\ En cuanto al AutoHotKey, error mío, no sirve. Según he leído "Los scripts de AutoHotkey se pueden utilizar para iniciar programas, abrir documentos, enviar pulsaciones de teclas y enviar clics y movimientos del ratón" He mirado por ahí tutoriales y no veo como enviar las pulsaciones, solo crear acceso rápido a tareas mediante teclado. Pues nada prueba esto. Es un ejemplo. Para usar con la calculadora de windows y el Notepad. Hay varias maneras de enviar mensajes a una ventana, prueba esta a ver si te sirve con ese juego. - Crea dos botones y añade el siguiente código: para VB6 Código
EXPLICACIÓN: FindWindow obtiene un número que es el identificador de ventana (handle). La mayoría de los procesos de windows tienen su handle. La barra de tareas de windows por ejemplo también tiene su handle. Sin embargo algunas ventanas tienen ventanas "hijas", como es el caso del Notepad, donde la ventana hija es el cuadro de texto donde se escribe. Por esta razón en el segundo botón he puesto GetNextWindow, para obtener la ventana "hija" y enviar el mensaje de pulsación a esta ventana. Podría ser que este juego tenga una ventana hijo. SciCalc/CalcFrame, Notepad. Son nombres de clase (ClassName). Necesarios para obtener el Handle o Identificador de ventana. También es posible el nombre de la ventana, por ejemplo "Sin títuo - Bloc de notas" o "Calculadora" Código: Hwnd = FindWindow(vbNullString, "Calculadora") Hwnd = FindWindow(vbNullString, "Sin título - Bloc de notas") O ambos, útil para mismo proceso con idénticos nombres de clase pero con distinto nombre de ventana. Código: Hwnd = FindWindow("SciCalc", "Calculadora") Hwnd = FindWindow("Notepad", "Sin título - Bloc de notas") Para obtener el "Class Name" puedes usar la herramienta Spy++ incluída en VB6 o VB.NET. Al que puedes acceder desde el menú inicio de windows. Pulsa buscar ventana y arrastra la diana hasta la ventana que quieras identificar y Spy++ te mostrará el nombre de clase y el identificador (en hexadecimal). He metido Me.Caption = Hwnd para que se vea el identificador, si es 0, es que no has obtenido ningún identificador. Porque has escrito mal el nombre de clase o el de la ventana. Para VB.NET Código
La idea es que obtengas el nombre de clase de la ventana del juego y pruebes desde el programa pulsando el botón a ver envía la pulsación. Si funciona pues en lugar del botón puedes usar un Timer, para que envíe una pulsación cada X segundos de forma automática. Título: Re: (AYUDA) Crear un ¿auto-tip? Publicado por: nhydawn en 23 Julio 2016, 16:24 pm No me vas a ayudar porque no te quieres registrar? :¬¬
Título: Re: (AYUDA) Crear un ¿auto-tip? Publicado por: Lekim en 23 Julio 2016, 16:30 pm No me vas a ayudar porque no te quieres registrar? :¬¬ XD, parece que has contestado mientras modificaba mi último post. A ver si te sirve el ejemplo. S2s me he liado un poco editandolo, mira otra vez |