Autor
|
Tema: Como llamar una ventana on focus… con batch (Leído 8,171 veces)
|
Dsalomon
Desconectado
Mensajes: 52
|
Como llamar una ventana on focus… con batch Ejemplo tengo varios procesos: Proceso1.exe = nombre de ventana: reproductor de música Proceso2.exe = nombre de ventana: reloj Ventana3.exe = nombre de ventana: script batch Y quisiera que el reloj pasara al frente visualemente la ventana queda seleccionada y encima de las otras Proceso2.exe = nombre de ventana: reloj Proceso1.exe = nombre de ventana: reproductor de música Ventana3.exe = nombre de ventana: script batch gracias... AMPLIO: Encontre esto por alli: pero no se como modificarlo para que no haya que presionar enter @if /i " %~1"==":focus" goto:focus & rem focus back to batch. set /p what= Press Enter: &&( DsLogo.exe /e,C:\ start "" call %~s0 : focus " %~0" " %~1" " %~2" & exit :focus echo All arguments are okay; is good working: echo "a" is " %a%" is " !a!"
la fuente: https://groups.google.com/forum/#!topic/alt.msdos.batch.nt/PnYlN6Lj_V4
|
|
« Última modificación: 12 Octubre 2013, 09:15 am por Dsalomon »
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Conectado
Mensajes: 9.878
|
@Dsalomon No es posible traer al frente (poner OnTop) una aplicación teniendo como única herramienta algo tan simple como Batch. Si no me falla la memoria creo recordar que tenias una especie de pequeño estudio de transmisión de TV montado, Pues solo por ese motivo creo que ya va siendo hora de que intentes aprender algún otro lenguaje que reálmente te sea útil para todas esas tareas que necesitas realizar de manera profesional, Batch, al igual que VBS y PowerShell, son para automatizar tareas del día a día, no para hacer grandes cosas. Te muestro un ejemplo en VBS especificando el título de ventana, si quieres hacerlo especificando el nombre del proceso entonces puedes usar WMI, en Google tienes ejemplos: MainWindowTitle = "Bloc de notas" If createobject("wscript.shell").AppActivate(MainWindowTitle) then Wscript.Quit(0) Else wsh.Echo "No se ha encontrado el título de la ventana: " _ & vbnewline _ & "" & MainWindowTitle & "" Wscript.Quit(1) End If
Saludos
|
|
« Última modificación: 12 Octubre 2013, 09:30 am por EleKtro H@cker »
|
En línea
|
|
|
|
Dsalomon
Desconectado
Mensajes: 52
|
maesto lo estoy probando ahora mismo y funciona con solo cambiarle la linea DsLogo.exe /e,C:\
al nombre del proceso que uno quiera pero por set /p what= Press Enter:
pero hay que presionar enter yo quisiera que codigo se ejecute sin preguntas
|
|
|
En línea
|
|
|
|
Dsalomon
Desconectado
Mensajes: 52
|
...Si no me falla la memoria creo recordar que tenias una especie de pequeño estudio de transmisión de TV montado, Pues solo por ese motivo creo que ya va siendo hora de que intentes aprender algún otro lenguaje que reálmente te sea útil para todas esas tareas que necesitas realizar de manera profesional, Batch, al igual que VBS y PowerShell, son para automatizar tareas del día a día, no para hacer grandes cosas. si es cierto soy un seguidor de tus post... claro que leo y leo ... el dominio de un lenguaje va ha ser mi exito pero, que mejor si me ayudas... pues voy algo lento, claro se que ayudas si uno hace de su parte... pero como ya todo esta funcionando como que se me ocurren cosas nuevas...
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Conectado
Mensajes: 9.878
|
Te debes estar confundiendo, ese código no funciona para lo que necesitas, intenté explicártelo. Además reemplazaste "explorer.exe" en el código original por "dslogo.exe": ...pero "/e,C:\" son parámetros que recibe el proceso explorer.exe, no el "dslogo.exe", no necesitas añadir esos parámetros. Sobre lo de que el script funcione, podría darse el caso de que la aplicación "DSLogo" NO fuese multi-instancia, es decir, que solo permita una instancia abierta del programa, y además tuvieses dicha instancia minimizada en la barra de tareas, en ese hipotético caso si que se reactivaría y se pondría al frente al usar el script de Batch, pero de lo contrario no. es más, si ese fuese el caso, solo tendrías que hacer esto en consola (vuelvo a decir, el programa dslogo.exe debe estar minimizado y ser single-instance para que esto funcione): Arriba te puse una solución 100% eficaz usando VBS, te aconsejo que dejes el Batch para otras cosas. Saludos
|
|
« Última modificación: 12 Octubre 2013, 09:51 am por EleKtro H@cker »
|
En línea
|
|
|
|
Dsalomon
Desconectado
Mensajes: 52
|
Te debes estar confundiendo, ese código no funciona para lo que necesitas intenté explicártelo.
Podría ser que la aplicación "DSLogo" no fuese multi-instancia y además la tuvieses minimizada, en ese caso si que se reactivaría y se pondría al frente, pero de lo contrario no.
Arriba te puse una solución eficaz, Saludos
gracias maestro... claro que tus aportes siempre son los mejores... la aplicacion DsLogo es un programita que me cree o mas bien recree con codigo AS2 de Flash y lo que hace es colocar un logo superpuesto en pantalla o sea un logo sobre cualquier ventana o apliacion incluyendo video aqui te mando mi creación para que la veas en funcionamiento, le quite la ventana o mas bien la puse transparente y la compile para que funcionara solo como proceso... lo cree sin multi instancia con la ventana en modo normal... funciona a escritorio compartido... por que winamp que es mi reproductor predilecto lo uso para mis transmisiones. http://sdrv.ms/19xDXWqmide 22 mb. como todos en este medio... mi amigo... somos entusiastas... sin demaciados fondos... yo encontre en batch la solución simple para automatizacion completa... y seguire viendo que mejoras hago... agrdezco enormemente que durante el paso de estos años me sigas ayidando que seguro seguire preguntandote...
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Conectado
Mensajes: 9.878
|
pero entonces, ¿has podido solucioanr el problema de la ventana de algún modo ya?.
Un saludo
|
|
|
En línea
|
|
|
|
Dsalomon
Desconectado
Mensajes: 52
|
Si pero el codigo batch que te mande... me funciono y e VBS no me funciono.... plop... quiesiera que el mismo batch llamara a mi ejecutable y luego lo pusiera encima... el codigo lo pne encima pero me deja abierta una ventana CMD @if /i " %~1"==":focus" goto:focus & rem focus back to batch. DsLogo.exe /e,C:\ start "" call %~s0 : focus " %~0" " %~1" " %~2" & exit :focus echo "a" is " %a%" is " !a!"
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Conectado
Mensajes: 9.878
|
Sigo viendo en el código los mismos errores que te comenté antes, de todas formas no voy a seguir hablando más de este problema usando como herramienta Batch.
En la variable del Vbscript deberías poner "Ds canal" y con eso debería funcionar, de lo contrario, si tuvieras complicaciones al ser un Flash, como ya digo puedes obtener el título correcto de la ventana usando WIM, o WMIC desde la cmd si lo prefieres.
Saludos
|
|
|
En línea
|
|
|
|
Dsalomon
Desconectado
Mensajes: 52
|
ciero se me ovidaba que le puse Ds Canal...gracias...
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
mantener ventana en Batch
Scripting
|
dimitrix
|
3
|
4,814
|
28 Abril 2007, 22:50 pm
por nhaalclkiemr
|
|
|
Batch que cambie las medidas de la ventana del CMD??? (SOLUCIONADO)
Scripting
|
SuperDraco
|
3
|
4,779
|
10 Noviembre 2009, 18:45 pm
por SuperDraco
|
|
|
llamar desde una aplicación de consola una ventana win32 (del mismo proyecto)
Programación C/C++
|
while
|
0
|
2,129
|
13 Octubre 2010, 13:21 pm
por while
|
|
|
[Batch] Imagen en ventana.
Scripting
|
Dany3j
|
2
|
3,031
|
28 Enero 2012, 15:23 pm
por Dany3j
|
|
|
[BATCH] ¿Cómo abrir una ventana con un ancho y un alto?
« 1 2 3 »
Scripting
|
z3nth10n
|
20
|
22,867
|
13 Agosto 2012, 17:00 pm
por Eleкtro
|
|