Autor
|
Tema: Mover cursor con visual basic (Leído 6,828 veces)
|
daviddavo
Desconectado
Mensajes: 33
|
Hola, no tengo ni idea de Visual Basic, pero estoy haciendo un script. Y necesito hacer que el cursor se mueva 100 px hacia abajo (-100x) y 100 pixeles hacia la derecha (+100y) ¿Sabeis como podría hacer esto?
Gracias de antemano
|
|
|
En línea
|
|
|
|
Br1ant
Desconectado
Mensajes: 791
Incluso la "nada" es un "algo"
|
Con: Windows.Forms.Cursor.Position = New Point(X, Y)
Saludines.
|
|
|
En línea
|
Namasté, criatura.
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.878
|
Estamos en la sección Scripting, ¿te refieres a VBS, VBA, VB, o VB.Net?, acláralo.
El código que te han mostrado es para VisualBasic.Net
En caso de referirte a VBS (VisualBasicScript) no es posible realizar esa tarea, para ello necesitarías llamar a la API de Windows y solo puedes hacerlo mediante librerías de terceros que añaden soporte adicional a VBS, una alternativa sería utilizar la aplicación RunDll32 desde VBS, pero solo funcionaría con funciones que tuviesen una firma específica, no es el caso de la función SetCursorPos.
Saludos
|
|
« Última modificación: 4 Abril 2015, 15:52 pm por Eleкtro »
|
En línea
|
|
|
|
daviddavo
Desconectado
Mensajes: 33
|
Estamos en la sección Scripting, ¿te refieres a VBS, VBA, VB, o VB.Net?, acláralo.
El código que te han mostrado es para VisualBasic.Net
En caso de referirte a VBS (VisualBasicScript) no es posible realizar esa tarea, para ello necesitarías llamar a la API de Windows y solo puedes hacerlo mediante librerías de terceros que añaden soporte adicional a VBS, una alternativa sería utilizar la aplicación RunDll32 desde VBS, pero solo funcionaría con funciones que tuviesen una firma específica, no es el caso de la función SetCursorPos.
Saludos
Me refiero a vbs, perdón por no haberlo aclarado
|
|
|
En línea
|
|
|
|
daviddavo
Desconectado
Mensajes: 33
|
Con: Windows.Forms.Cursor.Position = New Point(X, Y)
Saludines.Ya, pero me refiero de forma relativa. Que lo meuva 50 pixeles abajo y 50 pixeles hacia la derecha
|
|
|
En línea
|
|
|
|
Br1ant
Desconectado
Mensajes: 791
Incluso la "nada" es un "algo"
|
Bueno, ya te lo dijo Elektro. En caso de referirte a VBS (VisualBasicScript) no es posible realizar esa tarea, para ello necesitarías llamar a la API de Windows y solo puedes hacerlo mediante librerías de terceros que añaden soporte adicional a VBS, una alternativa sería utilizar la aplicación RunDll32 desde VBS, pero solo funcionaría con funciones que tuviesen una firma específica, no es el caso de la función SetCursorPos. Pero igual te dejo un código que usé hace años... RunDll32.SetCursorPos 50, 50
No veo una etiqueta para VBS, Lol.La verdad que no me acuerdo mucho de esto, sólo experimenté con SetCursorPos un par de veces. Puede que me equivoque. Edito. Para usar la función necesitas importar la DLL, no sé como será en VBS. En VB.NET sería: Dim RunDll32 = GetObject("C:\Windows\System32\user32.dll")
¡Saludines!
|
|
« Última modificación: 6 Abril 2015, 11:53 am por bubble1 »
|
En línea
|
Namasté, criatura.
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.878
|
Buenas Cómo ya expliqué, por mucho que pueda costar de "creer", VBS es un lenguaje simple e inutil, no hay modo alguno de importar una función de la WinAPI en VBS, no sin componentes COM de terceros que añadan soporte adicional para esa característica, cómo por ejemplo WSHDynaCall. Cómo también expliqué, no se puede utilizar la función ' SetCursorPos' desde la aplicación RunDll32.exe, ya que dicha función tiene dos parámetros (x, y) que no concuerdan con la firma necesaria que debe tener una función compatible con la interfáz RunDll32: INFO: Windows Rundll and Rundll32 InterfacePor ende, al intentar llamar la función ' SetCursorPos' desde RunDll32, los valores que se pasan a los parámetros (x, y) serán valores aleatorios, igual que sucede por ejemplo con la función 'SwapMouseButton' donde el valor que se le pasa siempre será positivo ...por mucho que le pases un "0" para revertir el cambio. La solución más eficiente en estas circunstancias sería utilizar un lenguaje capacitado para dicha tarea, una solución muy sencilla sería utilizando VB.Net/C# siguiendo el primer ejemplo mostrado por @bubble1 ya que ni siquiera necesitas importar la WinAPI para posicionar el mouse.Saludos!
|
|
« Última modificación: 6 Abril 2015, 17:32 pm por Eleкtro »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Mover el cursor??
Programación Visual Basic
|
Badlands
|
2
|
2,075
|
28 Agosto 2006, 21:34 pm
por Badlands
|
|
|
Mover el cursor a cordenadas X,Y y hacer click
Programación Visual Basic
|
nhaalclkiemr
|
9
|
3,535
|
4 Junio 2007, 22:38 pm
por Tughack
|
|
|
Cual se utiliza mas actualmente Visual Basic o Visual basic.net?
Programación Visual Basic
|
Axus
|
9
|
13,243
|
4 Julio 2009, 07:00 am
por el_c0c0
|
|
|
TextBox mover cursor a la ultima linea
.NET (C#, VB.NET, ASP)
|
TheGhost(Z)
|
2
|
15,309
|
4 Mayo 2010, 10:03 am
por TheGhost(Z)
|
|
|
[BATCH] Mover el cursor a cualquier posición sólo con ECHO
Scripting
|
.xAk.
|
0
|
3,639
|
19 Febrero 2022, 09:36 am
por .xAk.
|
|