![]() |
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 |
Cita:
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 |
pone un acceso directo en el inicio del menu de programas.
Este se carga despues que registry. |
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 |
Roman,
¿Como hago para interceptar el mensaje TaskBarCreated? Estoy un pelin perdido :confused: Gracias |
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! |
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 |
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 |
1 Archivos Adjunto(s)
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. |
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. |
Cita:
Saludos!. |
Cita:
saludos. |
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. |
Gracias a todos por la ayuda!!
Al final ya lo tengo y me funciona perfecto!!! Triskel |
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 ;) |
La franja horaria es GMT +2. Ahora son las 05:10:59. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi