Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-11-2005
Javier_A Javier_A is offline
Miembro
 
Registrado: oct 2003
Ubicación: Valencia
Posts: 93
Poder: 21
Javier_A Va por buen camino
¿ Cual es la clase del emule ?

Hola a tod@s,
He creado un programa para cerrar aplicaciones y quiero que me cierre el emule, entonces....

Una vez abierto el emule abro el WinSight, para averiguar cual es la clase del emule; aparecen un sinfin de programas en hidden y por mas que pongo una y otra clase, ( de todos los programas que hay abiertos del emule ), no logro cerrar la aplicación.
¿ Alguien me puede decir cual es exactamente el nombre de la clase que cierra la aplicación ?

Os espero
Salu2
__________________
La Guerra es una cosa muy seria para confiársela a los militares
Si quieres hecer una tarta de manzana partiendo de cero, primero tienes que crear el universo."
Responder Con Cita
  #2  
Antiguo 25-11-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Hay muchas utilizades e Internet que te permiten ver "la clase" de una ventana (aplicación); Seguro que si buscas las encuentras sin problemas:
* WinSpy 1.0; Warren Galyen
* WinExplorer 1.30 de nirSoft
* WinDowse de Greatis Software
* ...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 25-11-2005
Javier_A Javier_A is offline
Miembro
 
Registrado: oct 2003
Ubicación: Valencia
Posts: 93
Poder: 21
Javier_A Va por buen camino
Hola Neftali, he instalado el WinExplorer 1.30, y la clase del emule me dice que es: #32770.
Si que me cierra el emule, pero tambien el winexplorer, ( y eso que su clase es otra) ??????
Este es el procedimiento que gasto:


procedure TForm1.Timer1Timer(Sender: TObject);
var
hWnd : THandle;
begin

hWnd := FindWindow( '#32770', nil );
if hWnd <> 0 Then
begin
Form2.Visible:=True;
SendMessage( hWnd, WM_CLOSE, 0, 0 );
end;
end;

El form2 es una ventana de aviso de que se va a cerrar la aplicacion y no para se salir, ¿ que programas estara cerrando ?, ¿ sabes que es lo que puede pasar ?

Gracias y un saludo
__________________
La Guerra es una cosa muy seria para confiársela a los militares
Si quieres hecer una tarta de manzana partiendo de cero, primero tienes que crear el universo."
Responder Con Cita
  #4  
Antiguo 25-11-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Siguen saliendo los avisos, porque no debe estar cerrando corectamente el Emule y como el timer sigue funcionando, sigue encontrando la ventana; Después de enviar el mensaje para cerrar debería desactivar el Timer.

Código Delphi [-]
   Timer1.Enabled := False;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 28-11-2005
Javier_A Javier_A is offline
Miembro
 
Registrado: oct 2003
Ubicación: Valencia
Posts: 93
Poder: 21
Javier_A Va por buen camino
Hola Neftali,
Un problema añadido, resulta que la clase del emule #32770 es la misma, por ejemplo, que la que utiliza "WinExplorer 1.30", "El Administrador de Tareas de Windows" e imagino que bastantes programas mas, asi que cuando intento cerrar esta clase (#32770), se me cierran también los otros.
¿ Se puede filtrar las clases dependiendo por ejemplo del nombre del programa ?
Este es el procedimiento:

procedure TForm1.Timer1Timer(Sender: TObject);
var
hWnd : THandle;
begin

hWnd := FindWindow( '#32770', nil );
if hWnd <> 0 Then
begin
Form2.Visible:=True;
SendMessage( hWnd, WM_CLOSE, 0, 0 );
end;
end;

Perdona las molestias
Salu2
__________________
La Guerra es una cosa muy seria para confiársela a los militares
Si quieres hecer una tarta de manzana partiendo de cero, primero tienes que crear el universo."
Responder Con Cita
  #6  
Antiguo 28-11-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Javier_A
...resulta que la clase del emule #32770 es la misma, por ejemplo, que la que utiliza "WinExplorer 1.30", "El Administrador de Tareas de Windows" e imagino que bastantes programas mas....

¿ Se puede filtrar las clases dependiendo por ejemplo del nombre del programa?
Efectivamente, no me había dado cuenta; Por ejemplo, la ayuda de Delphi también lo tiene (y como tú dices supongo que muchos más...);

Respecto a la otra pregunta, la otra opción que tienes para encontrar la ventana es utilizar el título; Con la misma función que estás utilizando, pero dejando el primer parámetro vacío. Algo así:

Código Delphi [-]
   FindWindow(Nil, Pchar('notepad'))

El problema es que a veces el título de la ventana es variable, por ejemplo, como pasa con el Word, que el título de la ventana incluye el nombre del documento activo; En esos casos, lo único que se me ocurre es accder a la lista de procesos activos, recorrerlos e intentar encontrarla con sólo alguna parte del título.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
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


La franja horaria es GMT +2. Ahora son las 23:51:32.


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