Script para dar clicks

Iniciado por MrDoggy, 11 Febrero 2017, 21:50 PM

0 Miembros y 1 Visitante están viendo este tema.

MrDoggy

Buenas! En este tema estoy haciendo referencia a archivos .bat con Windows. Espero que podáis ayudarme.

Quería saber si hay alguna manera de que al darle a un botón, el ratón clickee automáticamente en algún tipo de coordenada. Si podéis facilitarme algún comando, o algún script, os lo agradecería. Estoy iniciándome en los scripts, y todavía no tengo mucho conocimiento.

Gracias de antemano.

tincopasan

la verdad que no puedo ayudarte con bat (Elektro es especialista en eso), pero te recomendaría que si estás empezando te inicies con algo más completo que bat(python,ruby,perl,vbscript,java,etc) en fin, hay muchos lenguajes script que merecen más estudio que lo limitado de bat.

z3nth10n

Citar(Elektro es especialista en eso)

Cierto es... ;D

He estado leyendo así por encima, y te recomiendo que crees alguna aplicación de escritorio sencilla con .NET (mi preferencia es C# aunque Elektro te dirá que VB)

El caso es eso, que con scripting es casi imposible por las complicaciones de seguridad que esto conlleva, pero quien sabe quizás haya alguna api en VBScript o algo para hacer dicha tarea (la de establecer el ratón en la posición deseada al hacer click en un botón).

Un saludo.

Interesados hablad por Discord.

MDd2

Es justo la pregunta que yo he hecho antes de tí  :xD ;-)

Pásate por mi tema que mi compañero Ikillnukes me ha dado una información mas concreta que la que te ha dado a tí.

PD: si consigues hacerlo ponte en contacto conmigo
# "No temo a los ordenadores; lo que temo es quedarme sin ellos"
-- Isaac Asimov

Eleкtro

#4
Hola.

No existe ningún comando built-in ni comando externo para simular eventos del ratón, ni posicionar el puntero del mouse en unas coordenadas específicas ni hacer click ni nada que se le parezca.

Usa otro lenguaje capacitado para llamar las funciones de Windows SetCursorPos y mouse_event, o en su defecto la manera idonea haciendo uso de las estructuras de RAW_INPUT y la función SendInput. Esto requeriría que aprendieses un lenguaje de programación distinto a Batch y algunas bases de la programación y del manejo de la API de Windows.

Ciertos lenguajes de programación de alto nivel (es decir abstractos) te faclitan al máximo posible este tipo de tareas, como por AutoHotkey, o C# o VB.NET, en el que además de poder optar por implementar/P.Invokear los miembros de la API de Windows RAW_INPUT, también te permite simplificarlo llamando al siguiente método:

Código (vbnet) [Seleccionar]
Microsoft.VisualStudio.TestTools.UITesting.Click()

( Aunque la serie de ensamblados Microsoft.VisualStudio.TestTools.* cumplen el propósito de servir para desarrollar tests CodedUI para evaluar el comportamiento de las aplicaciones, pero bueno, lo cierto es que te sirve igual como alternativa. )




Si realmente deseas llevar a cabo esta tarea desde Batch, entonces si o sí necesitas recurrir a una herramienta externa que haya sido diseñada para tal propósito o que pueda hacer eso que pides, vaya, como por ejemplo NirCMD de NirSoft:


Ejemplo:
Código (dos) [Seleccionar]
NirCMD.exe setcursor X Y, 0, True
NirCMD.exe sendmouse left click


Saludos!