Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Detectar cuando se inicia un proceso

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Detectar cuando se inicia un proceso Responder citando

Hola a todos.

Con ayuda del foro he logrado hacer un programa que me muestre todos los procesos activos en windows tipo taskmgr.exe el problema es que quiero que el programa detecte cuando se inicia un nuevo proceso para que se actualice la lista de manera automática y no tener el codigo en un ciclo infinito.

En concreto lo que quiero saber es si hay alguna API o mensaje de windows que me de esta información o como se podría hacer.

Saludos.
_________________
[img]http://folding.extremeoverclocking.com/sigs/sigimage.php?un=snupoo&t=86565/sigimage.gif[/img]
A programar se aprende programando


Ultima edición por snupoo el Jue 02 Oct, 2008 4:15 pm, editado 1 vez
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

snuppo no se como hicistes tu programa ni si este metodo es el mejor pero yo lo haria asi:
Supongamos que al precionar un bton se te llena un stringrid o memo con los procesos(esto lo haces atraves de un codigo), pues guardo esas lineas en un memo o el numero de procesos y con un timer hago un ciclo y si el nuemro que me da ahora el timer es mayor o menor mostrar mensaje
_________________
Todos somos ignorantes, lo que no todos ignoramos lo mismo...
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Estoy de acuerdo.

Taskmgr.exe realiza un timer y actualiza los ListView periódicamente, analizando cada vez los procesos activos.

Otra forma, mucho más compleja, que se me ocurre es hacer un Hook a la API CreateProcess del Explorer.exe y así detectar que se crea un proceso.

Pienso que para tu caso, lo mejor es un Timer.

Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Gracias a los dos por la respuesta.
Precisamente el ciclo o timer es lo que quiero evitar ya que el programa ademas de estar mostrando los procesos activos va a llevar una estadística de estos, y va a estar activo indefinidamente.

Voy a tratar con CreateProcess para ver si logro lo que quiero.

Saludos.
_________________
[img]http://folding.extremeoverclocking.com/sigs/sigimage.php?un=snupoo&t=86565/sigimage.gif[/img]
A programar se aprende programando
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.