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 23-08-2005
triskel triskel is offline
Miembro
 
Registrado: sep 2003
Ubicación: Vigo
Posts: 26
Poder: 0
triskel Va por buen camino
Iniciar programa

Buenas,

Tengo un programa que arranca al inicio de windows. PAra eso lo tengo en el Regedit.
Mi problema es que mi programa arranca antes de que Windows haya acabado de cargar todos los demas procesos y programas.
¿Hay alguna forma de detectar si Windows a acabado de arrancar?

Gracias

Triskel
Responder Con Cita
  #2  
Antiguo 23-08-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por triskel
¿Hay alguna forma de detectar si Windows a acabado de arrancar?
Yo creo que esto es algo ambiguo. ¿Cuándo puede decirse que Windows ha terminado el arranque (hay veces que parece que durante toda la sesión sigue arrancando)?

Lo único que por el momento se me ocurre es detectar el mensaje TaskBarCreated que manda el sistema cuando ya se ha creado la barra de tareas con lo que de alguna manera puede decirse que el shell ya está listo para trabajar.

Pero sería interesante que nos dieras más detalles de qué es lo que hace tu aplicación para requerir que Windows ya esté completamente cargado.

// Saludos
Responder Con Cita
  #3  
Antiguo 23-08-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 23
Crandel Va por buen camino
pone un acceso directo en el inicio del menu de programas.

Este se carga despues que registry.
__________________
[Crandel]
Responder Con Cita
  #4  
Antiguo 24-08-2005
triskel triskel is offline
Miembro
 
Registrado: sep 2003
Ubicación: Vigo
Posts: 26
Poder: 0
triskel Va por buen camino
Roman,

Gracias por la info, ahora lo probaré.

En realidad lo que tiene que arrancar es un programa Java compilado en un JAR.
El problema que tengo es que si en el Regedit arranco el JAR, no le da tiempo a levantar todos los paquetes Java necesario, por eso quiero hacer un programa Delphi que arranque en el inicio de la sesion y sea el que ejecute el programa Java, una vez este todo listo.

Saludos
Responder Con Cita
  #5  
Antiguo 24-08-2005
triskel triskel is offline
Miembro
 
Registrado: sep 2003
Ubicación: Vigo
Posts: 26
Poder: 0
triskel Va por buen camino
Roman,

¿Como hago para interceptar el mensaje TaskBarCreated? Estoy un pelin perdido


Gracias
Responder Con Cita
  #6  
Antiguo 24-08-2005
Avatar de marceloalegre
[marceloalegre] marceloalegre is offline
Miembro Premium
 
Registrado: abr 2005
Ubicación: Mar del Plata - Argentina
Posts: 448
Poder: 20
marceloalegre Va por buen camino
Solución de Roman

Yo tenia exactamente ese problema triskel. Aqui tienes la genial solucion de controlar taskbarcreated by Roman:

http://www.clubdelphi.com/foros/showthread.php?t=22018

cualquier cosa, pregunta que yo ya he implementado esto por un inconveniente dado que un programa se "ejecutaba antes de tiempo" (para lo que yo necesitaba)

Saludos!
Responder Con Cita
  #7  
Antiguo 24-08-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Aunque posiblemente baste con la solución que propone Crandel. Imagino que las aplicaciones que se ejecutan desde el menú de inicio lo hacen una vez que ya está cargado el shell y por tanto después del TaskBarCreated.

// Saludos
Responder Con Cita
  #8  
Antiguo 25-08-2005
triskel triskel is offline
Miembro
 
Registrado: sep 2003
Ubicación: Vigo
Posts: 26
Poder: 0
triskel Va por buen camino
Gracias por vuestra ayuda,

pero hoy ando algo pez, tengo un catarro del copon y no me doy centrado.
En el enlace que me da Kanvictor, roman dice que tengo que registrar el mensaje al iniciar mi aplicacion, es en el DPR??
En que unit esta el RegisterWindowsMessage??


Otra vez, gracias por todo!!


Triskel
Responder Con Cita
  #9  
Antiguo 25-08-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

En realidad es "RegisterWindowMessage" (sobra la "s" en Windows) y es por eso que no localizabas la unidad, la cual es "Windows.pas". Creo, en todo caso, que con el ejemplo que adjunto podrás comenzar a hacer pruebas.
Archivos Adjuntos
Tipo de Archivo: zip ejemplo.zip (1,7 KB, 34 visitas)
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #10  
Antiguo 25-08-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Me quedan ciertas dudas sobre si registrar el mensaje en el evento "OnCreate", como hago en el ejemplo que adjunté arriba o si sería mejor hacerlo en la cláusula "initialization" de la unidad del formulario principal... Supongo que unas pruebas podrían darnos la mejor opción, si ya no es que alguien aclara dónde sería más conveniente registrar el mensaje que nos ocupa.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #11  
Antiguo 25-08-2005
Avatar de marceloalegre
[marceloalegre] marceloalegre is offline
Miembro Premium
 
Registrado: abr 2005
Ubicación: Mar del Plata - Argentina
Posts: 448
Poder: 20
marceloalegre Va por buen camino
Cita:
Empezado por roman
Aunque posiblemente baste con la solución que propone Crandel. Imagino que las aplicaciones que se ejecutan desde el menú de inicio lo hacen una vez que ya está cargado el shell y por tanto después del TaskBarCreated.

// Saludos
Claaroo... es asi, en mi caso era muy distinto porque estaba ejecutando un servicio, que hacia "varias gracias" entre ellas ejecutar una aplicacion que era trayapp y si no la ejecutaba despues de explorer.exe funcionaba mal.

Saludos!.
Responder Con Cita
  #12  
Antiguo 25-08-2005
Avatar de marceloalegre
[marceloalegre] marceloalegre is offline
Miembro Premium
 
Registrado: abr 2005
Ubicación: Mar del Plata - Argentina
Posts: 448
Poder: 20
marceloalegre Va por buen camino
Post

Cita:
Empezado por dec
Hola,

Me quedan ciertas dudas sobre si registrar el mensaje en el evento "OnCreate", como hago en el ejemplo que adjunté arriba o si sería mejor hacerlo en la cláusula "initialization" de la unidad del formulario principal... Supongo que unas pruebas podrían darnos la mejor opción, si ya no es que alguien aclara dónde sería más conveniente registrar el mensaje que nos ocupa.
Realmente no se donde seria esto mas eficiente, yo he aplicado esto en 2 proyectos distintos, y siempre me maneje registrando en OnCreate...,, pero alguien con mayor base teorica probablemente pueda decirnos lo mas acertado... (lo esperamos )

saludos.
Responder Con Cita
  #13  
Antiguo 25-08-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 23
Crandel Va por buen camino
el código que esta en la sección initialization es la primera que se ejecuta cuando se incia un programa.

En cambio en el create del formulario, es cuando se crea el formulario y por ende posterior a initialization.

pero igualmente no hay grandes diferencias de donde se registra.
__________________
[Crandel]
Responder Con Cita
  #14  
Antiguo 29-08-2005
triskel triskel is offline
Miembro
 
Registrado: sep 2003
Ubicación: Vigo
Posts: 26
Poder: 0
triskel Va por buen camino
Gracias a todos por la ayuda!!

Al final ya lo tengo y me funciona perfecto!!!


Triskel
Responder Con Cita
  #15  
Antiguo 29-08-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

triskel, no estaría demás que indicaras cómo al cabo solucionaste el problema, qué camino seguiste de los propuestos, si tomaste alguno alternativo, etc. Fundamentalmente, por si alguien se topa con el mismo inconveniente que tú y lee este Hilo tenga una idea de cómo tratar el tema hasta llegar a una solución "perfecta" como la que implementaste. Muchas gracias
__________________
David Esperalta
www.decsoftutils.com
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 14:59:53.


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