elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  automatizado de Canal de TV, basado en Batch DOS y VBasic…
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: automatizado de Canal de TV, basado en Batch DOS y VBasic…  (Leído 16,725 veces)
Dsalomon

Desconectado Desconectado

Mensajes: 52


Ver Perfil
Re: automatizado de Canal de TV, basado en Batch DOS y VBasic…
« Respuesta #10 en: 5 Septiembre 2012, 16:33 pm »

excellente... voy a hacer las modificaciones en el codigo y te aviso... que resultado me dio... se me ocurre que para darle play o pausa usare Send keys para no usar aplicaciones de terceros..

Saludos...


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.866



Ver Perfil
Re: automatizado de Canal de TV, basado en Batch DOS y VBasic…
« Respuesta #11 en: 5 Septiembre 2012, 18:06 pm »

para darle play o pausa usare Send keys para no usar aplicaciones de terceros..
Supongo que te refieres a la función "SendKeys" de VisualBasicScript?

Pues hombre, también puedes mover el cursor con VBS, Solo tienes que buscar en Google...
Pero yo usaría nircmd para simplificar las dos tareas, Es una aplicación multiusos que es obligado tener "por si acaso".

Saludos


En línea



Dsalomon

Desconectado Desconectado

Mensajes: 52


Ver Perfil
Re: automatizado de Canal de TV, basado en Batch DOS y VBasic…
« Respuesta #12 en: 6 Septiembre 2012, 10:39 am »

maestro te  agradeceria si me corriges el codigo... esta muy bueno el tuyo pero todavia me falta... por aprender:


Código
  1. @Echo off
  2.  
  3. REM PASO 1 -  - - - - ABRIR el programa Winamp y darle PLAY - - - - - - - - - - - - - - - - - - - - -
  4.  
  5. START /D "%Programfiles%\Winamp\" winamp.exe
  6.  
  7. (
  8. Echo Set objShell = WScript.CreateObject("WScript.Shell")
  9. objShell.AppActivate "WINAMP"
  10.    Wscript.Sleep 1000
  11.  
  12. REM la tecla "X" le da PLAY a la ventana activa en este caso la ventana winamp
  13.  
  14. Echo oWSH.SendKeys "X"
  15. )>"%TEMP%\play.vbs"
  16.  
  17. Start /B wscript "%TEMP%\play.vbs"
  18. ping localhost -n 3 > nul
  19. Del "%TEMP%\play.vbs"
  20.  
  21.  
  22. REM PASO 2 - - - -  SI BSPLAYER ESTA ACTIVO CIERRE Ds Clock, Ds Logo y Text Ticker y PAUSAR Winamp
  23.  
  24. @Echo off
  25.  
  26. :Check
  27.  
  28. Rem Reseteamos la variable "CLOSE".
  29. Set Close=
  30.  
  31. Rem Busca el proceso en activo "bsplayer", Si lo encuentra le da un valor a la variable "Close".
  32.  
  33. Tasklist /FI "IMAGENAME eq bsplayer.exe"  | Find /I "bsplayer" >NUL && (Set Close=SI)
  34.  
  35. Rem Si la variable "close" está definida, Mata los siguientes procesos.
  36. If Defined CLOSE (
  37. Taskkill /F /T /IM "dsclock.exe" >NUL 2>&1
  38. Taskkill /F /T /IM "dslogo.exe" >NUL 2>&1
  39. Taskkill /F /T /IM "TxTicker.exe" >NUL 2>&1
  40.  
  41. Echo Set objShell = WScript.CreateObject("WScript.Shell")
  42. objShell.AppActivate "WINAMP"
  43. Wscript.Sleep 1000
  44.  
  45. REM la tecla "C" le da PAUSA a la ventana activa en este caso la ventana winamp
  46. Echo oWSH.SendKeys "(c)"
  47. )>"%TEMP%\pausa.vbs"
  48.  
  49. Start /B wscript "%TEMP%\pausa.vbs"
  50. ping localhost -n 3 > nul
  51. Del "%TEMP%\pausa.vbs"
  52.  
  53. REM PASO 3 - - - Si no esta abierto Bsplayer inicie el programa Ds Clock, Ds Logo y a Winamp darle PLAY
  54.  
  55. ) ELSE (
  56. REM Si la variable "CLOSE" NO esta definida, Abre los siguientes procesos.
  57. START /D "%Programfiles%\DS Clock\" dsclock.exe
  58. FOR /R %%_ in (*DsLogo.exe) do ("%%_")
  59.  
  60. Echo Set objShell = WScript.CreateObject("WScript.Shell")
  61. objShell.AppActivate "WINAMP"
  62.    Wscript.Sleep 1000
  63.  
  64. REM la tecla "X" le da PLAY a la ventana activa en este caso la ventana winamp
  65.  
  66. Echo oWSH.SendKeys "(X)"
  67. )>"%TEMP%\pausa.vbs"
  68.  
  69. Start /B wscript "%TEMP%\pausa.vbs"
  70. ping localhost -n 3 > nul
  71. Del "%TEMP%\pausa.vbs"
  72. )
  73.  
  74.  
  75. Ping -n 3 LOCALHOST >NUL
  76. Rem Vuelve a la etiqueta principal.
  77. Goto :Check


ya casi esta... te agradezco la atencion y todos los consejos que me has brindado... sin duda eres el mejor...

Saludos desde Guatemala...
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.866



Ver Perfil
Re: automatizado de Canal de TV, basado en Batch DOS y VBasic…
« Respuesta #13 en: 6 Septiembre 2012, 13:13 pm »

Veo que para darle al play/pause usas los atajos especiales de Winamp, no habia caido en eso mira! No se como se me pasó. :xD

Pero el script está lleno de errores como para que funcione, sobretodo de sintaxis.
Voy a comentar solo el error más importante:

Citar
Código:
Set objShell = WScript.CreateObject("WScript.Shell") 
oWSH.SendKeys "X"
Aquí fallas en algo, ¿No te das cuenta?
La variable la defines como "objshell", no "oWSH".

Aparte de muchos más errores críticos, el script se puede simplificar y mejorar mucho, Aquí tienes:

Código
  1. @Echo off
  2.  
  3. :: [PASO 1]
  4. :: Ejecutar el proceso Winamp y darle PLAY.
  5. START /D "%Programfiles%\Winamp\" winamp.exe
  6. Call :Winamp_Key "x"
  7.  
  8. :: [PASO 2]
  9. :: Si BSPLAYER está activo, cerrar "Ds Clock", "Ds Logo", "Text Ticker", y darle PAUSE a Winamp.
  10. :: Si BSPLAYER no está activo, iniciar "Ds Clock", "Ds Logo", y darle PLAY a Winamp.
  11. :Loop
  12. Tasklist /FI "IMAGENAME eq bsplayer.exe"  | Find /I "bsplayer" >NUL && (
  13. For /F %%# in ('Tasklist ^| Find /I "DSLOGO"') Do (Taskkill /F /T /IM "%%#" >NUL 2>&1)
  14. Taskkill /F /T /IM "dsclock.exe"  >NUL 2>&1
  15. Taskkill /F /T /IM "TxTicker.exe" >NUL 2>&1
  16. Call :Winamp_Key "c"
  17. ) || (
  18. START /D "%Programfiles%\DS Clock\" dsclock.exe
  19. FOR /R %%_ in (*DsLogo.exe) do ("%%_")
  20. Call :Winamp_Key "x"
  21. )
  22.  
  23. :Winamp_Key
  24. :: Hotkeys Winamp:
  25. ::
  26. :: c=Pause
  27. :: x=Play
  28. ::
  29. If NOT "%~1" EQU "" (
  30. (
  31. Echo Set objShell = WScript.CreateObject("WScript.Shell"^)
  32. Echo Do Until Success = True
  33. Echo     Success = objShell.AppActivate("winamp"^)
  34. Echo     Wscript.Sleep 250
  35. Echo Loop
  36. Echo objShell.SendKeys "%~1"
  37. Echo Wscript.quit
  38. )>"%TEMP%\winamp.vbs"
  39. Start /W wscript "%TEMP%\winamp.vbs"
  40. Del /Q "%TEMP%\Winamp.vbs"
  41. Goto :EOF
  42. )
  43.  
  44. Ping -n 3 LOCALHOST >NUL
  45. Goto :Loop

Saludos
En línea



Dsalomon

Desconectado Desconectado

Mensajes: 52


Ver Perfil
Re: automatizado de Canal de TV, basado en Batch DOS y VBasic…
« Respuesta #14 en: 7 Septiembre 2012, 02:19 am »

Supongo que te refieres a la función "SendKeys" de VisualBasicScript?

Pues hombre, también puedes mover el cursor con VBS, Solo tienes que buscar en Google...
Pero yo usaría nircmd para simplificar las dos tareas, Es una aplicación multiusos que es obligado tener "por si acaso".

Saludos


gracias por la guia es lo mas avanzado que jamas  haya intentado hacer... con el block de notas...

si habia pensado en usar el plug in de terceros como el Clever para winamp y guardarlo en la misma carpeta del batch... alguna vez publique algo de eso aqui... pero en este caso lo pienso usar en mis 2 Pc que tengo para este fin de automatizacion...

me ha gustado tanto lo de buscar la manera por que he aprendido de VB tambien por eso es que me me he guiado con ejemplos...


http://foro.elhacker.net/empty-t321121.0.html
En línea

Dsalomon

Desconectado Desconectado

Mensajes: 52


Ver Perfil
Re: automatizado de Canal de TV, basado en Batch DOS y VBasic…
« Respuesta #15 en: 26 Septiembre 2012, 11:50 am »

maestro sera que se puede corregir... asi



Código
  1. @Echo off
  2.  
  3. ::[PASO 1] ABRIR Winamp,PLAY a Winamp, ABRIR Dsclock.exe, Dslogo.exe y Dslogo2.exe
  4.  
  5. START /D "%Programfiles%\Winamp\" winamp.exe
  6. Call :Winamp_Key "x"
  7. START /D "%Programfiles%\DS Clock\" dsclock.exe
  8. FOR /R %%_ in (*DsLogo.exe) do ("%%_") | FOR /R %%_ in (*DsLogo2.exe) do ("%%_")
  9.  
  10. ::[PASO 2] PROGRAMAR BSplayer y sus listas en el el Escritorio activo - el archivo .bsl es nativo de BSplayer -
  11.  
  12. at 6:45:00 /interactive start "%DesktopPath%" LISTA1.bsl
  13. at 9:45:00 /interactive start "%DesktopPath%" LISTA1.bsl
  14. at 12:45:00 /interactive start "%DesktopPath%" LISTA1.bsl
  15. at 15:45:00 /interactive start "%DesktopPath%" LISTA1.bsl
  16. at 18:45:00 /interactive start "%DesktopPath%" LISTA1.bsl
  17. at 21:45:00 /interactive start "%DesktopPath%" LISTA1.bsl
  18.  
  19. at 7:30:00 /interactive start "%DesktopPath%" LISTA2.bsl
  20. at 10:30:00 /interactive start "%DesktopPath%" LISTA2.bsl
  21. at 13:30:00 /interactive start "%DesktopPath%" LISTA2.bsl
  22. at 16:30:00 /interactive start "%DesktopPath%" LISTA2.bsl
  23. at 19:30:00 /interactive start "%DesktopPath%" LISTA2.bsl
  24. at 22:30:00 /interactive start "%DesktopPath%" LISTA2.bsl
  25.  
  26. at 8:15:00 /interactive start "%DesktopPath%" LISTA3.bsl
  27. at 11:15:00 /interactive start "%DesktopPath%" LISTA3.bsl
  28. at 14:15:00 /interactive start "%DesktopPath%" LISTA3.bsl
  29. at 17:15:00 /interactive start "%DesktopPath%" LISTA3.bsl
  30. at 20:15:00 /interactive start "%DesktopPath%" LISTA3.bsl
  31. at 23:15:00 /interactive start "%DesktopPath%" LISTA3.bsl
  32.  
  33. at 9:00:00 /interactive start "%DesktopPath%" LISTA4.bsl
  34. at 12:00:00 /interactive start "%DesktopPath%" LISTA4.bsl
  35. at 15:00:00 /interactive start "%DesktopPath%" LISTA4.bsl
  36. at 18:00:00 /interactive start "%DesktopPath%" LISTA4.bsl
  37. at 21:00:00 /interactive start "%DesktopPath%" LISTA4.bsl
  38. at 0:00:00 /interactive start "%DesktopPath%" LISTA4.bsl
  39.  
  40. ::[PASO 3]
  41. :ETIQUETA1
  42.  
  43. ::[PASO 4] Busque El Proceso BSplayer y al encontrarlo, PAUSE Winamp, CERRAR: Dsclock.exe, Dslogo.exe, Dslogo2.exe y TextTicker.exe
  44.  
  45. Tasklist /FI "IMAGENAME eq bsplayer.exe"  | Find /I "bsplayer" >NUL && (
  46. Call :Winamp_Key "c"
  47. Taskkill /F /T /IM "dsclock.exe"  >NUL 2>&1
  48. Taskkill /F /T /IM "Dslogo.exe" >NUL 2>&1
  49. Taskkill /F /T /IM "Dslogo2.exe" >NUL 2>&1
  50. Taskkill /F /T /IM "TxTicker.exe" >NUL 2>&1
  51.  
  52. ::[PASO 5] Esperar  que proceso BSplayer TERMINE de reproducir y se cierre después: Dar PLAY a Winamp, Abrir Dsclock, Abrir Dslogo y Dslogo2
  53. )
  54. Echo Set WshShell = CreateObject("WScript.Shell")
  55. Echo Set oExec = WshShell.Exec("BSplayer")
  56. Echo Do While oExec.Status = 0
  57.     Echo WScript.Sleep 100
  58. Echo Loop
  59. Echo WScript.Echo oExec.Status
  60. )>"%TEMP%\winamp.vbs"
  61. Start /W wscript "%TEMP%\BSplayer.vbs"
  62. Del /Q "%TEMP%\BSplayer.vbs"
  63. Goto :EOF
  64. )
  65.  
  66. Call :Winamp_Key "x"
  67. START /D "%Programfiles%\DS Clock\" dsclock.exe
  68. FOR /R %%_ in (*DsLogo.exe) do ("%%_") | FOR /R %%_ in (*DsLogo2.exe) do ("%%_")
  69.  
  70.  
  71. :Winamp_Key
  72. :: Hotkeys Winamp:
  73. ::
  74. :: c=Pause
  75. :: x=Play
  76. ::
  77.  
  78. Ping -n 3 LOCALHOST >NUL
  79.  
  80. ::[PASO 6] repetir hasta Etiqueta 1
  81. Goto ::ETIQUETA1
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.866



Ver Perfil
Re: automatizado de Canal de TV, basado en Batch DOS y VBasic…
« Respuesta #16 en: 26 Septiembre 2012, 12:37 pm »

Citar
Código:
:Winamp_Key
:: Hotkeys Winamp:
::
:: c=Pause
:: x=Play
::
 
Ping -n 3 LOCALHOST >NUL

Porque la rutina ":Winamp_Key" solo contiene un "ping"?  :¬¬
has eliminado la función por completo, en la primera página la tienes, vuelvela a copiar.

Aparte:
Citar
Código:
)>"%TEMP%\winamp.vbs"
Start /W wscript "%TEMP%\BSplayer.vbs"
Fíjate bien a donde redireccionas y lo que intentas ejecutar (no existe).


Citar
::[PASO 5]
)
Echo Set WshShell = CreateObject("WScript.Shell")
Echo Set oExec = WshShell.Exec("BSplayer")
...
)

(
 Echo Set WshShell = CreateObject("WScript.Shell"^)
 Echo Set oExec = WshShell.Exec("BSplayer"^)
 etc...
)

Citar
Código:
FOR /R %%_ in (*DsLogo.exe) do ("%%_") | FOR /R %%_ in (*DsLogo2.exe) do ("%%_")

¿Porque usas la pipe |?

Código:
FOR /R %%_ in (*DsLogo*.exe) do ("%%_")

saludos
« Última modificación: 26 Septiembre 2012, 12:39 pm por EleKtro H@cker » En línea



Dsalomon

Desconectado Desconectado

Mensajes: 52


Ver Perfil
Re: automatizado de Canal de TV, basado en Batch DOS y VBasic…
« Respuesta #17 en: 26 Septiembre 2012, 18:45 pm »

Gracias maestro seguire tus consejos y por la noche hare una prueba... ;-)
En línea

Dsalomon

Desconectado Desconectado

Mensajes: 52


Ver Perfil
Re: automatizado de Canal de TV, basado en Batch DOS y VBasic…
« Respuesta #18 en: 26 Septiembre 2012, 20:29 pm »

Mastro me puedes explicar como funcionan estas lineas por que en realidad solo copie y pegue peno entiendo su funcionamiento, sobre todo de las teclas de winamp


Código
  1. )
  2.  
  3. :Winamp_Key
  4. :: Hotkeys Winamp:
  5. ::
  6. :: c=Pause
  7. :: x=Play
  8. ::
  9. If NOT "%~1" EQU "" (
  10. (
  11. Echo Set objShell = WScript.CreateObject("WScript.Shell"^)
  12. Echo Do Until Success = True
  13. Echo     Success = objShell.AppActivate("winamp"^)
  14. Echo     Wscript.Sleep 250
  15. Echo Loop
  16. Echo objShell.SendKeys "%~1"
  17. Echo Wscript.quit
  18. )>"%TEMP%\winamp.vbs"
  19. Start /W wscript "%TEMP%\winamp.vbs"
  20. Del /Q "%TEMP%\Winamp.vbs"
  21. Goto :EOF
  22. )
  23.  
  24. Ping -n 3 LOCALHOST >NUL
  25. Goto :Loop
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.866



Ver Perfil
Re: automatizado de Canal de TV, basado en Batch DOS y VBasic…
« Respuesta #19 en: 27 Septiembre 2012, 00:36 am »

Ay señor... :xD Con explicarte lo que hacen las lineas no sería suficiente, necesitas aprender lo que es un argumento...

Código:
Call :Winamp_Key "X"
Esto llama a la etiqueta "Winamp_key" y le pasa un argumento, la "X".

Código:
If NOT "%~1" EQU "" ()
Si por error no se le pasa un argumento pues el código del interior no se ejecuta, así se evitan aún más errores xD.

las lineas con dobles puntos :: son lineas de comentario, nada más.

Se escribe un código VBS en el archivo "%TEMP%\winamp.vbs"

El código VBS ya sabes lo que hace, envía el argumento de la etiqueta a winamp (La "X" o la "C").

No hay más.

Saludos
En línea



Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Necesito programa sencillo automatizado
Programación Visual Basic
K-19 5 3,294 Último mensaje 4 Noviembre 2009, 02:35 am
por Dessa
Descargar Videos de Canal 40, Tv azteca y Canal Once alguien...
Multimedia
grayfox2284 4 19,677 Último mensaje 21 Noviembre 2009, 02:50 am
por 043h68
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines