Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-02-2011
darkcuevas darkcuevas is offline
Miembro
 
Registrado: ago 2010
Posts: 31
Poder: 0
darkcuevas Va por buen camino
[ayuda] detector de ventana

buenas


hola les planteo mi situación estoy creando un projet con 2 form (form1 y form2)


ok bueno el objetivo es lograr que al abrir el programa aparezca el form1 este form va a tener solo un label que va a decir (esperando....) cuando el projet detecte la aplicación quiero que desaparezca ese form1 y aparezca el form2 que es el que va a tener las funciones del programa

noce no tengo idea de lo que voy ha hacer lo que estoy usando es
Código Delphi [-]
begin
GameWindow := findwindow(nil,'xxxxxx.exe')
if GameWindow <> 0 then
begin
//aquí es que no ce que agregar (detectado)
end
else
//aquí es que no ce que agregar (no detectado)
end;
si alguien meda una idea o otra forma de lograr lo que quiero

salu2.

Última edición por ecfisa fecha: 25-02-2011 a las 12:00:58. Razón: ETIQUETAS DELPHI
Responder Con Cita
  #2  
Antiguo 24-02-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Quisiera que aclararas un poco lo que deseas. Tengo la impresión de que dices una cosa con tus palabras y otra con el pseudo código que has colocado.

Saludos,
Chris
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #3  
Antiguo 24-02-2011
darkcuevas darkcuevas is offline
Miembro
 
Registrado: ago 2010
Posts: 31
Poder: 0
darkcuevas Va por buen camino
Cita:
Empezado por Chris Ver Mensaje
Quisiera que aclararas un poco lo que deseas. Tengo la impresión de que dices una cosa con tus palabras y otra con el pseudo código que has colocado.

Saludos,
Chris
mira lo que pasa es que en el form1 tengo un timer y en este timer en el tengo este codigo
Código Delphi [-]
begin
GameWindow := findwindow(nil,'xxxxxx.exe')
if GameWindow <> 0 then
begin
  form2.show;   //por ejenplo
  form1.hide;
end
else
  form2.hide;
  form1.show;
end;
es desir al detectar la ventan este codigo hace que aparesca el form2 y desaparesca el form1

y cuando no lo detecta aparece el form1 y desaparece el form2


pero esto es solo una hidea lo que pasa es que con este codigo el timer no permite que se precionar ningun boton

es por eso que ago la pregunta

Última edición por ecfisa fecha: 25-02-2011 a las 12:01:40. Razón: ETIQUETAS DELPHI
Responder Con Cita
  #4  
Antiguo 25-02-2011
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.289
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
Tienes 2 tareas a realizar:
(1) Detectar el nuevo programa.
(2) Cerrar la ventana actual y abrir la nueva.

Para la (1) puedes utilizar el código que has colocado. Si buscas en los foros por FindWindows encontrarás bastantes ejemplos, tanto para buscar por título como por classname.

Para el (2) una vez detectado la nueva aplicación basta con que ocultes o cierres el form1 (Close/Hide) y abras el nuevo (Show).
__________________
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 02-03-2011
darkcuevas darkcuevas is offline
Miembro
 
Registrado: ago 2010
Posts: 31
Poder: 0
darkcuevas Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Tienes 2 tareas a realizar:
(1) Detectar el nuevo programa.
(2) Cerrar la ventana actual y abrir la nueva.

Para la (1) puedes utilizar el código que has colocado. Si buscas en los foros por FindWindows encontrarás bastantes ejemplos, tanto para buscar por título como por classname.

Para el (2) una vez detectado la nueva aplicación basta con que ocultes o cierres el form1 (Close/Hide) y abras el nuevo (Show).
eso ya loc es codigo que yo coloque hace toda la funcion correctamente pero el problema es que como yo agrego el codigo a un timer hac el proceso una y otra vez esto no me deja precinar ningun boton lo que yo busco es por ejemplo un evento o algo asi que que me permita realizar lo que kiero solo una vez sin que este haciendo lo mismo continuamente
Responder Con Cita
  #6  
Antiguo 03-03-2011
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.289
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 darkcuevas Ver Mensaje
el problema es que como yo agrego el codigo a un timer hac el proceso una y otra vez esto no me deja precinar ningun boton
No me queda claro cual es el problema. Si se trata de que el problema queda bloquedado, tal vez deberías colocar dentro del procedimiento del Timer un:

Código Delphi [-]
  Application.ProcessMessages;

Y tal vez subir la frecuencia del Timer.

Cita:
Empezado por darkcuevas Ver Mensaje
yo busco es por ejemplo un evento o algo asi que que me permita realizar lo que kiero solo una vez sin que este haciendo lo mismo continuamente
Pues elimina ese código del evento del Timer y colócalo en un botón. ¿Cual es el problema?
__________________
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
  #7  
Antiguo 04-03-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Doy por supuesto que los botones bloqueados se encuentran en Form1. Además, si ya estás mostrando Form1, no es necesario la línea Form1.Show. También doy por supuesto que la frecuencia del Timer debe ser muy corta para dejar colgada la interfaz de la aplicación. En este caso puedes hacer lo que te ha dicho Neftalí. Si aún así no se soluciona el problema o deseas mantener la frecuencia del Timer bien corta, entonces te recomiendo que trabajes con Hilos (Threads) en tu aplicación. Esa es la mejor solución que puedes implementar. Pero es un trabajo que hay que hacerlo con un poco más de cuidado y trabajo.

Saludos!
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #8  
Antiguo 06-03-2011
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Si es desde tu misma aplicacion.

Form1.Show;
//Codigo qu ehace esperar
Form1.hide;
//muestras tu otra ventana

Ahora si lo que quieres es algo como un spalash. Algo asi como cuando delphi esta iniciado.

Entonces mira los ejemplos de delphi no recuerdo cuan exactmanete creo que es MATabs o algo asi hay esta todo en una estupides que debes agrgar en el proyecto.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #9  
Antiguo 06-03-2011
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Si es desde tu misma aplicacion.

Form1.Show;
//Codigo qu ehace esperar
Form1.hide;
//muestras tu otra ventana

Ahora si lo que quieres es algo como un spalash. Algo asi como cuando delphi esta iniciado.

Entonces mira los ejemplos de delphi no recuerdo cuan exactmanete creo que es MATabs o algo asi hay esta todo en una estupides que debes agrgar en el proyecto. solo se que es uno de los proyectos de base de datos que la ventana muestraun barquito ao algo por estilo.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #10  
Antiguo 08-03-2011
darkcuevas darkcuevas is offline
Miembro
 
Registrado: ago 2010
Posts: 31
Poder: 0
darkcuevas Va por buen camino
Cita:
Empezado por Chris Ver Mensaje
Doy por supuesto que los botones bloqueados se encuentran en Form1. Además, si ya estás mostrando Form1, no es necesario la línea Form1.Show. También doy por supuesto que la frecuencia del Timer debe ser muy corta para dejar colgada la interfaz de la aplicación. En este caso puedes hacer lo que te ha dicho Neftalí. Si aún así no se soluciona el problema o deseas mantener la frecuencia del Timer bien corta, entonces te recomiendo que trabajes con Hilos (Threads) en tu aplicación. Esa es la mejor solución que puedes implementar. Pero es un trabajo que hay que hacerlo con un poco más de cuidado y trabajo.

Saludos!

si es nesesario el form1.show

begin
GameWindow := findwindow(nil,'xxxxxx.exe')
if GameWindow <> 0 then
begin //cuando se detecta la aplicacion acurre que
form2.show; //se muesta el form2
form1.hide; //se oculta el form1
end
else //cuando detecta que la aplicacion ha cido cerrada
form2.hide; //se oculta el form2
form1.show; //se muestra elform1
end;he estado probando el evento activate

aunque no e tenido mucho tienpo para trabajar en mi aplicacion a primera vista funciono correctamente

bueno apenas pueda sigo con la aplicacion si no me funciona me veran aqui de nuevo gracias por su colaboracion

espero que me disculpen por averme ausentado tanto tienpo en este post lo que sucede es que me cortaron el internet y no la avia pagado por falta de tienpo xD

haaa y si no es mucho abuso les agradeceria que me dejaran algunos ejemplos de otras maneras de detectar una ventana en este momento no necesito esta información pero es bueno tener este conocimiento
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
ayuda a desarrollar ventana de alerta tipo HOTMAIL... tebre Varios 14 13-01-2010 19:25:56
error xsqlda index out of range en ventana login ayuda !!!!!! manueltp Firebird e Interbase 7 16-01-2009 04:03:12
Ayuda Con Ventana Para Login!!! jugomez MS SQL Server 5 23-10-2006 17:22:29
Detector de Huellas Dactilares Chuny Argentina Gráficos 1 13-08-2006 19:36:05
ayuda... tamaño ventana y botón maximizar. gontxalo OOP 0 18-05-2005 18:32:52


La franja horaria es GMT +2. Ahora son las 20:02:06.


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