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

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Convertir internet explorer en una pagina que no se pueda abandonar.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Convertir internet explorer en una pagina que no se pueda abandonar.  (Leído 3,184 veces)
Antoniolioli

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Convertir internet explorer en una pagina que no se pueda abandonar.
« en: 26 Marzo 2014, 12:27 pm »

Os explico un poco he creado un .bat que inicia la url www.google.com, la estructura de este es muy simple:
 //start.bat//
start www.google.es

Y ahora he creado un .vbs  llamado controla , que lo que hace es comprobar cada 5 segundos si se esta ejecutando el .bat , si no lo  vuelve a ejecutar , lo he probado con aplicaciones .exe y solo se volvia a ejecutar si se cerraba dicha aplicación.

Lo que me sucede cuando lo programo con el start.bat es que me hable mil navegadores (bucle) y debo cerrar el wscript.exe en la administración del sistema para que pare.Alguna idea?¿

Espera(5000)
Function Espera(miliSegundos)
    Set WshShell = WScript.CreateObject ("WScript.Shell")
    Set colProcessList = GetObject("Winmgmts:").ExecQuery ("Select * from Win32_Process")
 
    For Each objProcess in colProcessList
        If objProcess.name = "nocerrar.cmd" then
            Encontrado = True
    End if
    Next
    If Encontrado = True then
        rem Msgbox("Proceso encontrado")
    Else
        rem Msgbox("Proceso No encontrado")
        WshShell.Run("nocerrar.cmd")
    End If
    WScript.Sleep(miliSegundos)
    Espera(milisegundos)
End Function


Código
  1. //controla.vbs//
  2. Espera(5000)
  3. Function Espera(miliSegundos)
  4.    Set WshShell = WScript.CreateObject ("WScript.Shell")
  5.    Set colProcessList = GetObject("Winmgmts:").ExecQuery ("Select * from Win32_Process")
  6.  
  7.    For Each objProcess in colProcessList
  8.        If objProcess.name = "start.bat" then
  9.            Encontrado = True
  10.    End if
  11.    Next
  12.    If Encontrado = True then
  13.        rem Msgbox("Proceso encontrado")
  14.    Else
  15.        rem Msgbox("Proceso No encontrado")
  16.        WshShell.Run("start.bat")
  17.    End If
  18.    WScript.Sleep(miliSegundos)
  19.    Espera(milisegundos)
  20. End Function


este es el correcto , sorry



[MOD]: ¿Ves que diferencia con el formato de la pregunta?.


« Última modificación: 26 Marzo 2014, 14:27 pm por Eleкtro » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Convertir internet explorer en una pagina que no se pueda abandonar.
« Respuesta #1 en: 26 Marzo 2014, 14:00 pm »

Hola

1. El subforo indicado para dudas de Scripting es Scripting, no dudas generales.

2. Has de usar el botón modificar para editar un comentario, no inundarnos con más posts para hacer correciones de última hora.

3. El doble post no está permitido.

4. Has de usar las etiquetas de código para insertar códigos.

Porfavor, LEE LAS NORMAS.





El problema es simple de entender, estás intentando buscar un archivo de texto plano como si se tratase de un proceso,
en otras palabras, le estás indicando al Script que busque un proceso que no existe (nunca se instanció), y por eso se inicia un bucle infinito.

Código
  1.    For Each objProcess in colProcessList
  2.        If objProcess.name = "start.bat" then
  3.        ...
  4.    End if

Start.bat no es un proceso, por proceso se entiende a un archivo binario que acaba en .exe,
al ejecutar el archivo Start.bat, lo que se inicia es el proceso CMD.exe, que es el encargado de parsear las órdenes del Script, y ese es el proceso que debes controlar.

Añádele un título a tu Script Batch:
Código
  1. @Echo Off
  2. Title Mi titulo
  3. ...
Y eso añadirá un Caption a la barra de título del proceso CMD:


...Así ya tienes algo que poder comparar de forma (algo más) eficiente en VBS:

Código
  1. ProcessName   = "CMD.exe"
  2. WindowCaption = "Mi título"
  3.  
  4. Set WSS = WScript.CreateObject("WScript.Shell")
  5. Set CMD = WSS.Exec("CMD.exe /C ""Tasklist.exe /FI ""ImageName EQ " & ProcessName & """ /FO csv /NH /V | Find /I """ & WindowCaption & """""")
  6.  
  7. Do Until CMD.Status ' Esperar hasta que que finalice la ejecución del proceso.
  8.     WScript.Sleep 500 ' ms
  9. Loop
  10.  
  11. ' Evaluamos el código de salida del proceso (el que devuelve el comando 'FIND')
  12. Select case CMD.ExitCode
  13.  
  14. Case 0 ' El nombre de la ventana se ha encontrado.
  15. ' Hacer algo...
  16.  
  17. Case 1 ' El nombre de la ventana no se ha encontrado.
  18. ' Hacer algo...
  19.  
  20. Case Else ' Código de error inesperado, quizás '2', por un error de sintaxis.
  21. ' Hacer algo...
  22.  
  23. End Select

PD: Puedes dejar de usar la Class Win32_Process de WMI ya que no proporciona ninguna propiedad para obtener el título de la ventana de un proceso http://msdn.microsoft.com/en-us/library/aa394372%28v=vs.85%29.aspx

De todas formas, lo que estás haciendo en Batch es complétamente innecesario, no tiene lógica, tienes un script batch sólamente con una instrucción (Start) cuando puedes hacer lo mismo desde el propio lenguaje de VisualBasicScript, lo cual te seria más sencillo y te ahorra abrir múltiples archivos innecesarios:
Código
  1. WScript.CreateObject("WScript.Shell").Run "www.Google.com"

Saludos


« Última modificación: 26 Marzo 2014, 14:26 pm por Eleкtro » En línea



crist_andy

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Convertir internet explorer en una pagina que no se pueda abandonar.
« Respuesta #2 en: 10 Abril 2014, 20:21 pm »

hola

el mismo problema siempre ah agoviado a mchas ppersonas, lo que te recomiendo que hagas es que re instales  firefox y a explores y de utilizar otro pero si solo te gustan esos te dejare una pagina donde hay keys que  te serviran para identificar virus

http://elarchivo.es/proceso/iexplore.exe.html

En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Convertir página de elhacker.net en PDF « 1 2 »
Dudas Generales
Eleкtro 12 6,565 Último mensaje 13 Abril 2014, 16:36 pm
por p0ker
¿Pagina donde pueda buscar pseucodigos y tambien subirlos?
Programación General
Mario Olivera 1 1,617 Último mensaje 25 Mayo 2015, 23:06 pm
por hirako
(Consulta) Convertir caracteres en UTF-8 a la página de código 437 con Notepad++
Programación General
Seyro97 0 1,759 Último mensaje 16 Octubre 2015, 20:28 pm
por Seyro97
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines