Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

(PREGUNTA) Capturar cuando se cierra un programa

Estas en el tema de (PREGUNTA) Capturar cuando se cierra un programa en el foro de Visual Basic clásico en Foros del Web. hola gente, bue un cliente me pidió ke keria saver fecha y hora de cuando se cierra el ciber control 5.0 y se me ocurrio ...
  #1 (permalink)  
Antiguo 26/10/2005, 06:07
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 19 años, 5 meses
Puntos: 6
(PREGUNTA) Capturar cuando se cierra un programa

hola gente, bue un cliente me pidió ke keria saver fecha y hora de cuando se cierra el ciber control 5.0 y se me ocurrio ofrecerle un programa en VB ke alamcene en una DB la cant de veces ke se cierra el Ccontrol...pero mi pregunta es la siguiente ¿como hago para saver cuando se cerró el programa XXXXX en micaso el ciber control 5.0 ?
bue me seria de gran ayuda una manito

salu2 y gracias
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
  #2 (permalink)  
Antiguo 26/10/2005, 13:17
 
Fecha de Ingreso: abril-2005
Mensajes: 351
Antigüedad: 19 años
Puntos: 3
Hola Aldo lo puedes hacer mediante "FindWindow" y porsupuesto con el "classname" del "ciber control 5.0" (si no sabes como obtenerlo te explico)

yo te paso un ejemplo con internet Explorer, su className es "IEFrame" bien cuando se inicie creara un archivo Eventos.txt en C:\ e ira imprimiendo cuando se abre y se cierra

agrega un timer y el codigo

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Dim Abierto As Boolean
Private Sub Form_Load()
Timer1.Interval = 1000
End Sub

Private Sub Timer1_Timer()
Dim mWnd As Long
Dim ClassName As String
ClassName = "IEFrame" 'aqui cambia por el classname de el "ciber control 5.0"
mWnd = FindWindow(ClassName, vbNullString)

If mWnd = 0 Then
If Abierto Then
Open "C:\Eventos.txt" For Append As #1
Print #1, "Fin de la Aplicacion Internet Explorer " & vbTab & vbTab & Now
Print #1, "-------------------------------------------------------------------"
Close #1
Abierto = False
End If
Else
If Not Abierto Then
Open "C:\Eventos.txt" For Append As #1
Print #1, "Inicio de la Aplicacion Internet Explorer " & vbTab & Now
Close #1
Abierto = True
End If
End If
End Sub


Saludos
  #3 (permalink)  
Antiguo 26/10/2005, 14:03
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Creo que sería mejor obtener el ProcessID del Ciber Control pues este no tiene una ventana, sino varias, entonces puede que tengan Clases Diferentes, mientras que si buscamos por el ProcessID y lo obtenemos, así no habrá problemas pues la Búsqueda solo devolverá 0 cuando el PROCESO haya finalizado....
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 26/10/2005, 15:13
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
yo lo haría con el getprocess y estaría revisando a cada minuto.. o cada 30 segundos dependiendo..

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #5 (permalink)  
Antiguo 26/10/2005, 17:04
 
Fecha de Ingreso: abril-2005
Mensajes: 351
Antigüedad: 19 años
Puntos: 3
Cita:
Iniciado por David el Grande
Creo que sería mejor obtener el ProcessID del Ciber Control pues este no tiene una ventana, sino varias, entonces puede que tengan Clases Diferentes, mientras que si buscamos por el ProcessID y lo obtenemos, así no habrá problemas pues la Búsqueda solo devolverá 0 cuando el PROCESO haya finalizado....

si en verdad no conosco el civer control, no sabia que eran varias ventanas me parecio que este ejemplo era mas sensillo asi, pero si en ese caso seria mejor utilizar el ProcessID

Saludos
  #6 (permalink)  
Antiguo 27/10/2005, 12:56
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 19 años, 5 meses
Puntos: 6
ue gracias a tod2 por contestar mi duda..y bue entre tantas ideas tendré ke ver como mesclarlas ejejejej gracias..pero el idproces como lo invóco ?
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
  #7 (permalink)  
Antiguo 27/10/2005, 12:59
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 19 años, 5 meses
Puntos: 6
Cita:
Iniciado por David el Grande
Creo que sería mejor obtener el ProcessID del Ciber Control pues este no tiene una ventana, sino varias, entonces puede que tengan Clases Diferentes, mientras que si buscamos por el ProcessID y lo obtenemos, así no habrá problemas pues la Búsqueda solo devolverá 0 cuando el PROCESO haya finalizado....
hola david,,,, bue te pregunto...como obtendria el proccesID del ciber control ??? se podria hacer mediant codigo VB para obtener el id de los programas abiertos y la descripcion del programa abierto ? ?
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
  #8 (permalink)  
Antiguo 28/10/2005, 05:34
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 19 años, 5 meses
Puntos: 6
??????????????
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:41.