Los foros del Guille

elGuille.hosting: OFERTA Multi Dominio por 40.95 Eur al mes

Si no encuentras respuesta, puedes buscar en el sitio del Guille

Google
 
Selecciona el foro y pulsa en mostrar:     Mostrar 
De tu interés (algunos de los avisos publicados)

09/nov/2005
Nuevo filtro en el código posteado para evitar malas intenciones.
Por supuesto, si encuentras fallos de seguridad, por favor postealo en el foro de Bugs, ya que es para beneficio de todos. Gracias.

  Foro: VB6.General Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 57855 - Necesito parar un proceso de MSDOS en cuanto pulso una tecla
IDAsuntoFechaNick 
57855 Necesito parar un proceso de MSDOS en cuanto pulso una tecla08/03/15 12:49berebere   
Hola.

Tengo una applicación en Visual Basic 6. El objetivo es escanear una carpeta y determinar qué archivos son copias imagen de ghost, esto es, tienen extensión *.GHO. Una vez localizados, pulso el botón test que arranca la aplicación de MSDOS ghost32.exe. Esta aplicación chequea cada copia imagen para verificar si es correcta. Todo funciona bien.

El problema viene cuando quiero parar la comprobación de las imágenes porque le va a costar mucho y necesito el ordenador para otra cosa, pues bien, no hay manera. Lo único que consigo es, manteniendo la tecla que yo determine pulsada, y cuando está a punto de terminar la comprobación que está haciendo de la copia imagen actual y va a comenzar la próxima comprobación, se pare el programa, y lo que yo quiero es que se pare, o me pregunte si quiero continuar o estoy seguro de parar en cuanto yo le pulse una tecla, por ejemplo ESC. Yo no tengo demasiada idea de Visual Basic y las partes de programa más complicadas las he cogido de código que he encontrado por ahí y adaptado a mi aplicación:

Resumiendo: necesito parar el proceso de MSDOS -ghost32.exe- mientras se esté realizando la comprobación y pulsando una vez la tecla ESC, y que me pregunte si quiero continuar o realmente parar -salir del bucle FOR o reiniciar el programa-.

-------------------------------------------------------------------------

Private Sub Form_Load()

' intervalo para el timer para la detección de tecla
Timer1.Interval = 50


End Sub

----------------------------------------------------------------------------

Private Sub Timer1_Timer()

If GetKeyState(vbKeyEscape) < 0 Then parar = 1 ' Detecto si se ha pulsado la tecla ESCAPE


End Sub

----------------------------------------------------------------------------


Private Sub cmdTest_Click() 'Botón que al pulsarlo hará que se empiecen a comprobar las copias imagen
DoEvents 'Éste es fundamental, no quitar
lblCopiasRestantes.Visible = True
lblQuedan.Visible = True
lblQuedan = lblCount
RutaArchivo = GHO(n)
'La referencia a Windows script Host Object Model

errorimagen = ""
a = 0
i = 1

Restantes = narchivos
For n = 0 To narchivos - 1

DoEvents
Restantes = narchivos - n
lblQuedan.Caption = Restantes - 1
temporal = RutaCorta(lstFoundFiles.List(n))

'Comando = "ghost32.exe -batch -chkimg," & lstFoundFiles.List(n) 'Arranca el ghost configurado para chequear imágenes"
Comando = "ghost32.exe -batch -chkimg," & temporal 'lstFoundFiles.List(n) Arranca el ghost configurado para chequear imágenes"

'En lstFoundFiles está la lista de archivos *.GHO encontrados con ruta completa
errorimagen = ejecutar_Dos(Comando) 'Si la imagen es incorrecta devuelve un error 'llamo a la función


If parar = 1 Then Exit For 'Si hemos pulsado la tecla ESC "cero" salimos del bucle

If errorimagen <> "" Then 'Si ghost devuelve un error

If i = 1 Then txtResultado.Text = " Las siguientes copias imagen no son correctas" + Chr$(13) + Chr$(10)
i = i + 1
a = a + 1
txtResultado.Text = txtResultado.Text + Chr$(13) + Chr$(10) 'Línea en blanco
txtResultado.Text = txtResultado.Text + " Error " & i - 1 & " : " + lstFoundFiles.List(n) + Chr$(13) + Chr$(10)
End If


 
(c) Guillermo 'guille' Som, 2005-2017  - foros.elGuille v1.0.5.3 (23/Mar/2009 14:50 GMT +1)  - (ASP.NET 2.0 v2.0.50727.8762)
 
Usuarios activos: 46 - App. iniciada: 23/11/2017 13:55:04 GMT - La hora GMT del servidor es: 23/11/2017 14:41:33 GMT