Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Dsalomon

#31
Gracias maestro seguire tus consejos y por la noche hare una prueba... ;-)
#32
maestro sera que se puede corregir... asi



Código (dos) [Seleccionar]
@Echo off

::[PASO 1] ABRIR Winamp,PLAY a Winamp, ABRIR Dsclock.exe, Dslogo.exe y Dslogo2.exe

START /D "%Programfiles%\Winamp\" winamp.exe
Call :Winamp_Key "x"
START /D "%Programfiles%\DS Clock\" dsclock.exe
FOR /R %%_ in (*DsLogo.exe) do ("%%_") | FOR /R %%_ in (*DsLogo2.exe) do ("%%_")

::[PASO 2] PROGRAMAR BSplayer y sus listas en el el Escritorio activo - el archivo .bsl es nativo de BSplayer -

at 6:45:00 /interactive start "%DesktopPath%" LISTA1.bsl
at 9:45:00 /interactive start "%DesktopPath%" LISTA1.bsl
at 12:45:00 /interactive start "%DesktopPath%" LISTA1.bsl
at 15:45:00 /interactive start "%DesktopPath%" LISTA1.bsl
at 18:45:00 /interactive start "%DesktopPath%" LISTA1.bsl
at 21:45:00 /interactive start "%DesktopPath%" LISTA1.bsl

at 7:30:00 /interactive start "%DesktopPath%" LISTA2.bsl
at 10:30:00 /interactive start "%DesktopPath%" LISTA2.bsl
at 13:30:00 /interactive start "%DesktopPath%" LISTA2.bsl
at 16:30:00 /interactive start "%DesktopPath%" LISTA2.bsl
at 19:30:00 /interactive start "%DesktopPath%" LISTA2.bsl
at 22:30:00 /interactive start "%DesktopPath%" LISTA2.bsl

at 8:15:00 /interactive start "%DesktopPath%" LISTA3.bsl
at 11:15:00 /interactive start "%DesktopPath%" LISTA3.bsl
at 14:15:00 /interactive start "%DesktopPath%" LISTA3.bsl
at 17:15:00 /interactive start "%DesktopPath%" LISTA3.bsl
at 20:15:00 /interactive start "%DesktopPath%" LISTA3.bsl
at 23:15:00 /interactive start "%DesktopPath%" LISTA3.bsl

at 9:00:00 /interactive start "%DesktopPath%" LISTA4.bsl
at 12:00:00 /interactive start "%DesktopPath%" LISTA4.bsl
at 15:00:00 /interactive start "%DesktopPath%" LISTA4.bsl
at 18:00:00 /interactive start "%DesktopPath%" LISTA4.bsl
at 21:00:00 /interactive start "%DesktopPath%" LISTA4.bsl
at 0:00:00 /interactive start "%DesktopPath%" LISTA4.bsl

::[PASO 3]
:ETIQUETA1

::[PASO 4] Busque El Proceso BSplayer y al encontrarlo, PAUSE Winamp, CERRAR: Dsclock.exe, Dslogo.exe, Dslogo2.exe y TextTicker.exe

Tasklist /FI "IMAGENAME eq bsplayer.exe"  | Find /I "bsplayer" >NUL && (
Call :Winamp_Key "c"
Taskkill /F /T /IM "dsclock.exe"  >NUL 2>&1
Taskkill /F /T /IM "Dslogo.exe" >NUL 2>&1
Taskkill /F /T /IM "Dslogo2.exe" >NUL 2>&1
Taskkill /F /T /IM "TxTicker.exe" >NUL 2>&1

::[PASO 5] Esperar  que proceso BSplayer TERMINE de reproducir y se cierre después: Dar PLAY a Winamp, Abrir Dsclock, Abrir Dslogo y Dslogo2
)
Echo Set WshShell = CreateObject("WScript.Shell")
Echo Set oExec = WshShell.Exec("BSplayer")
Echo Do While oExec.Status = 0
     Echo WScript.Sleep 100
Echo Loop
Echo WScript.Echo oExec.Status
)>"%TEMP%\winamp.vbs"
Start /W wscript "%TEMP%\BSplayer.vbs"
Del /Q "%TEMP%\BSplayer.vbs"
Goto :EOF
)

Call :Winamp_Key "x"
START /D "%Programfiles%\DS Clock\" dsclock.exe
FOR /R %%_ in (*DsLogo.exe) do ("%%_") | FOR /R %%_ in (*DsLogo2.exe) do ("%%_")


:Winamp_Key
:: Hotkeys Winamp:
::
:: c=Pause
:: x=Play
::

Ping -n 3 LOCALHOST >NUL

::[PASO 6] repetir hasta Etiqueta 1
Goto ::ETIQUETA1
#33
EXCELENTE... probando...
#34
Cita de: EleKtro H@cker en 17 Septiembre 2012, 08:44 AM
Muy mala deducción.

:xD

gracias...

pues la otra vez prube haciendo una programación con un programa llamado Vtask studio pero lo mas cercano que hice fue hacer que el raton pasara encima de esa area y asi los borraba...pero no me parecio muy bueno... por eso ya no lo hice...

gracias por tus comentarios... 

entonces TEMA CERRADO...    :-(
#35
Hola amigos buenas tardes... hoy vengo nuevamente preguntando algo... parecerá simple pero me estorba de gran manera el simple hecho que aparezcan... la cosa es asi:

cuando cierro un programa con la instruccion TASKKILL por ejemplo

Código (dos) [Seleccionar]
TASKKILL /IM Dslogo1.exe /F >nul
exit


me quedan siempre los iconos del programa en cuestión en la barra de sistema de windows, bueno cualquiera me dirá, se borran si pasas el cursor sobre el... pues bien asi es... pero desearía que se hiciera automáticamente al correr el código y busque por el foro y don google pero únicamente aye este:


Citar
En la mayoría de casos se trata de contenedores de objetos que no son parte del árbol de los componentes de la aplicación que no desaparecen por matar a los procesos. Cuando el usuario se desplace sobre el icono, el icono no considera los padres por lo que desaparece.

...Sin embargo, mediante una llamada al Dispose-method , desapareció al menos mis aplicaciones

si me permiten pongo la web pero esta en ingles:

http://wwv.comanswer.com/question/tray-icon-does-not-disappears-on-killing-process

Código (vb) [Seleccionar]
//creating a NotifyIcon
NotifyIcon notifyicon = new NotifyIcon();
notifyicon.Text = "Logo Ds canal";
notifyicon.Visible = true;
notifyicon.Icon = new Icon(GetType(),"Icon.ico");
//let it disappear
notifyicon.Dispose();



por mi pequeña deducción seria así pero no me funciona...


Código (dos) [Seleccionar]
TASKKILL /IM Dslogo1.exe /F >nul

(
Echo Set objShell = WScript.CreateObject("WScript.Shell"^)
Echo NotifyIcon notifyicon = new NotifyIcon();
Echo notifyicon.Text = "Logo Ds canal";
Echo notifyicon.Visible = true;
Echo notifyicon.Icon = new Icon(GetType(),"Icon.ico");
::let it disappear traduccion: dejar que desaparezcan
Echo notifyicon.Dispose();
)

exit


antes de los codigos digo:


1. el proceso a cerrar se llama: Dslogo1 y este se inicia minizado en la barra de sistema

2. el nombre que aparece en la barra de sistema es "Logo Ds canal" no como el nombre del proceso




como siempre desde ya gracias...
#36
Cita de: EleKtro H@cker en  5 Septiembre 2012, 18:06 PM
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
#37
maestro te  agradeceria si me corriges el codigo... esta muy bueno el tuyo pero todavia me falta... por aprender:


Código (dos) [Seleccionar]
@Echo off

REM PASO 1 -  - - - - ABRIR el programa Winamp y darle PLAY - - - - - - - - - - - - - - - - - - - - -

START /D "%Programfiles%\Winamp\" winamp.exe

(
Echo Set objShell = WScript.CreateObject("WScript.Shell")
objShell.AppActivate "WINAMP"
    Wscript.Sleep 1000

REM la tecla "X" le da PLAY a la ventana activa en este caso la ventana winamp

Echo oWSH.SendKeys "X"
)>"%TEMP%\play.vbs"

Start /B wscript "%TEMP%\play.vbs"
ping localhost -n 3 > nul
Del "%TEMP%\play.vbs"


REM PASO 2 - - - -  SI BSPLAYER ESTA ACTIVO CIERRE Ds Clock, Ds Logo y Text Ticker y PAUSAR Winamp

@Echo off

:Check

Rem Reseteamos la variable "CLOSE".
Set Close=

Rem Busca el proceso en activo "bsplayer", Si lo encuentra le da un valor a la variable "Close".

Tasklist /FI "IMAGENAME eq bsplayer.exe"  | Find /I "bsplayer" >NUL && (Set Close=SI)

Rem Si la variable "close" está definida, Mata los siguientes procesos.
If Defined CLOSE (
Taskkill /F /T /IM "dsclock.exe" >NUL 2>&1
Taskkill /F /T /IM "dslogo.exe" >NUL 2>&1
Taskkill /F /T /IM "TxTicker.exe" >NUL 2>&1

Echo Set objShell = WScript.CreateObject("WScript.Shell")
objShell.AppActivate "WINAMP"
Wscript.Sleep 1000

REM la tecla "C" le da PAUSA a la ventana activa en este caso la ventana winamp
Echo oWSH.SendKeys "(c)"
)>"%TEMP%\pausa.vbs"

Start /B wscript "%TEMP%\pausa.vbs"
ping localhost -n 3 > nul
Del "%TEMP%\pausa.vbs"

REM PASO 3 - - - Si no esta abierto Bsplayer inicie el programa Ds Clock, Ds Logo y a Winamp darle PLAY

) ELSE (
REM Si la variable "CLOSE" NO esta definida, Abre los siguientes procesos.
START /D "%Programfiles%\DS Clock\" dsclock.exe
FOR /R %%_ in (*DsLogo.exe) do ("%%_")

Echo Set objShell = WScript.CreateObject("WScript.Shell")
objShell.AppActivate "WINAMP"
    Wscript.Sleep 1000

REM la tecla "X" le da PLAY a la ventana activa en este caso la ventana winamp

Echo oWSH.SendKeys "(X)"
)>"%TEMP%\pausa.vbs"

Start /B wscript "%TEMP%\pausa.vbs"
ping localhost -n 3 > nul
Del "%TEMP%\pausa.vbs"
)


Ping -n 3 LOCALHOST >NUL
Rem Vuelve a la etiqueta principal.
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...
#38
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...
#39
Perdona me confundi al armar la idea pero creo que aqui corregi la estructura y encontre algunas consideraciones para el funcionamiento


Para Winamp:
   
Código (dos) [Seleccionar]
START /D "%Programfiles%\Winamp\" winamp.exe


Para el Programa DsLogo y los derivados numéricos:
Dslogo, Dslogo1 y Dslogo2 los guardo en una subcarpeta dentro de
la carpeta donde se guarda el BAT por eso pongo este código por que no Abrir el proceso DsLogo.exe conozco otro:
   
Código (dos) [Seleccionar]
FOR /R %%_ in (*DsLogo.exe) do ("%%_")

Para el programa Ds Clock:
Código (dos) [Seleccionar]
START /D "%Programfiles%\DS Clock\" dsclock.exe

Para el programa Bsplayer:
Código (dos) [Seleccionar]
START /D "%Programfiles%\Webteh\BSplayerPro"  bsplayer.exe

Para el programa Text Ticket:
Código (dos) [Seleccionar]
START /D "%Programfiles%\Text Ticker\TxtTick.exe"

Citar
┌─────────────────────────────────────┐


1. ABRIR el programa Winamp y darle PLAY 
                                               

  • Continúe al paso 2

                           
■ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─    



┌─────────────────────────────────────┐    

↓   
                              
2. SI El programa Winamp.exe está en PLAY
            

  • Abrir programa Ds clock                                     
  • Abrir el proceso DsLogo.exe
↓                                 


└──────────────────────────────────────   
3.   Pero   Si el proceso Bsplayer.exe se ejecuta         ↓                  
┌──────────────────────────────────────   

                              

  • PAUSAR Winamp
  • Cerrar el proceso Dsclock.exe
  • Cerrar el proceso DsLogo.exe
  • Cerrar el proceso DsLogo1.exe
  • Cerrar el proceso DsLogo2.exe
  • Cerrar el proceso TxTicker.exe

↓                                 


└──────────────────────────────────────   
4. CUANDO El proceso Bsplayer.exe se cierre o no este activo         ↓                  
┌──────────────────────────────────────   



  • REPETIR INFINITO DEL PASO 2 AL PASO 4   
↓                                 

└─────────────────────────────────────┘
#40
eres un genio...


funciona pero ahora me doy cuenta que he planteado mal el funcionamiento... permiteme lo replanteo correctamente... en win XP corrio perfecto.... en 7 lo probare por que mi sistema 7 ya esta algo trasteado..