Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-07-2010
xjre xjre is offline
Miembro
 
Registrado: feb 2008
Posts: 13
Poder: 0
xjre Va por buen camino
Gracias por ambas respuestas.

Esos dos metodos ya los encontre buscando por el foro y google, pasa que justamente lo que yo queria evitar en lo posible era el uso permanente de un timer que pregunte a cada rato si se esta ejecutando X programa, y ver en cambio si habia alguna forma de recibir algun mensaje que windows envie o algo similar, que indique que ese programa acaba de ser ejecutado.

Buscando mas por internet se me ocurrio una forma híbrida, utilizando el mensaje WM_ACTIVATEAPP de la WindowsApi, activando un TTimer en el momento en el que detecto que mi aplicacion dejo de tener el foco del SO y desactivandlo cuando vuelve a tenerlo. TTimer que por dentro tiene un proceso utilizando el EnumWindows y un procedimiento CallBack. Si tiene éxito lo posteo.

Sin embargo, si alguien sabe/conoce alguna forma de saber lo que especifique en un principio, quedaria agradecido.

Saludos
Responder Con Cita
  #2  
Antiguo 14-07-2010
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Pues hasta donde yo se, no puedes hacerlo sin un Timer. El mismo Task Manager utiliza un Timer para actualizarse.

La única forma que se me ocurre es haciendo un Hook a la API CreateProcessW a nivel global, es decir inyectándote en todos los procesos capaces de lanzar otro porceso, es decir en todos...

Creo que es mas rentable un timer que se actualice cada segundo o medio segundo.

Saludos.
Responder Con Cita
  #3  
Antiguo 04-08-2010
genyus00 genyus00 is offline
Miembro
 
Registrado: jun 2010
Posts: 29
Poder: 0
genyus00 Va por buen camino
Talking

Uses un timer o un hilo, de igual forma tu aplicacion debe estar pendiente estilo sentinela a ver que mensages se generar y asi actuar de acuerdo al que programes detectar.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Registrar aplicación para recibir mensaje de reloj Lord Delfos API de Windows 8 04-02-2008 03:54:14
¿En cuantos lugares se escribe la direccion de un programa para ejecutarse? aeff Varios 10 15-10-2007 10:38:13
App emita Sonido al recibir mensaje netsend Gelmin Varios 1 19-07-2004 13:50:06
Programa que no pueda ejecutarse más de una vez Sr_Sombrero Varios 3 25-05-2004 16:21:11


La franja horaria es GMT +2. Ahora son las 14:24:28.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi