Cita de: Anonymous250 en 23 Agosto 2014, 18:40 PMdecir que ya me ayudastes en su momento aunque no te acuerdes,con un bat para abrir un programa de televisionPues yo debo decirte que la verdad es que por el nick no me sonabas, pero ahora que dijiste eso ya lo recuerdo xD, creo que solo tu has expuesto ese tipo de problema (al menos en esta sección).
Cita de: Anonymous250 en 23 Agosto 2014, 18:40 PM1Son milisegundos, no segundos. (por si acaso)Código [Seleccionar]Wscript.Sleep
Que segun tengo entendido pone el script en espera ,el tiempo que tu le digas en segundos 1500,2500....y luego sigue ejecutando.
Cita de: Anonymous250 en 23 Agosto 2014, 18:40 PMYo lo que hice,fue visualmente contar cuando pinchas main.cpl, y se abre ,tienes que darle al tabulador para cambiar entre las opciones, un total de 5 veces hasta llegar a la pestaña "Botones",luego dos veces a la derecha hasta llegar a la pestaña "Opciones de puntero" ,para luego darle 10 veces al tabulador hasta llegar al menu deseado,osea "Seleccione la velocidad del puntero",Lenta rapida ,pudiendo desplazarlos a la derecha o izquierda y darle a aceptar.
Lo que has echo es viajar por la ruta más larga.
Puedes abrir directamente la pestaña de las opciones de puntero.
Código (vbnet) [Seleccionar]
Set Shell = CreateObject("WScript.Shell")
Shell.Run "rundll32.exe shell32.dll,Control_RunDLL main.cpl,,2", False, False
Do Until IsProcessRunning("rundll32.exe") ' Esperar a que el proceso 'rundll32.exe' se haya inicializado.
Wscript.Sleep 100
Loop
Wscript.Sleep 1500 ' Esperar 1,5 segundos a que se cargue el Form del main.cpl (quizás puedas disminuirlo a 100 ms para ahorrar tiempo)
Shell.SendKeys "{RIGHT}"
Wscript.Sleep 100 ' Esperar entre 50-200 ms entre pulsacion y pulsacion por precaución.
Shell.SendKeys "{ENTER}"
Wscript.Quit
' By elektro
Function IsProcessRunning(ProcessName)
IsProcessRunning = False
For Each Process In GetObject("winmgmts:").InstancesOf("Win32_Process")
If StrComp(Process.Name, ProcessName, 0) = 0 Then
IsProcessRunning = True
Exit for
End If
Next
End Function
PD: Lo he testeado en Windows 8, pero si no recuerdo mal el menu en 7 y vista era idéntico.
EDITO: Ah, por cierto, si quieres aumentar al máximo o disminuir al mínimo la velocidad solo tienes que pulsar la tecla INICIO o FIN, no le vayas a dar repetidas veces a LEFT o RIGHT.
CitarHice la prueba con y sin Wscript.Sleep 2500 ,pero supongo que ahi que ponerle por lo menos 1 segundo o menos,nolose.
Eso es algo que no se puede determinar con exactitud, depende del tiempo que tarde tu hardware+so para procesar la pulsación, y también para dibujar los controles y el form. suelen ser pocos ms (no llega a 100) pero si tienes el equipo muuuuuy saturado entonces podría llegar a ser segundos, todo depende.
Saludos!