SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Dieguinho. en Martes 27 de Marzo de 2007, 20:24
-
Buenas, espero que me puedan ayudar con lo siguiente.
Tengo una aplicacion que cuando inicia pone un icono en la barra systray (creo que se llama asi) al lado del reloj.
Como esta aplicacion se conecta a unos ftp que cada tanto andan mal, de vez en cuanto se cuelga, por lo que hice otro programa que unicamente se encarga de ver si funciona la aplicacion y si no lo hace la renicia.
Ahora el problema (que en realidad no es grave, es solo un detalle) es que cada vez que reinicio la aplicacion el icono que tenia al lado de la hora queda.
(desaparece por ej. cuando paso el mouse sobre la barra).
A alguien se le ocurre que puedo hacer para que automaticamente se refresque esa barra?
Saludos.
-
Hola intenta cuando terminás el programa, finalizarlo con End y con
Set TuFormulario = Nothing
..saludos
-----------------------------------------------------------------------------
-
El programa en cuestion cuando lo cierro con un boton cerrar si saca el icono, ya que esta preparado para que cuando lo inicie lo ponga y cuando lo cierre lo saque.
Pero el otro programa que lo unico que hace es cerrar a este cuando se cuelga mata directamente el proceso por lo que la parte que saca el icono de la systray nunca llega a ejecutarse.
saludos!
-
Ahí te va el código
No te compliques la vida.
Esto hace lo mismo
Este escript no es mio exactamente, sino lo hizo un amigo,
que lo disfrutes:
;Author jxyz (Juan Luis Rodríguez)
; Eliminar los iconos antiguos de la barra de tareas
ProcessClose("notepad.exe")
RegDelete("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\TrayNotify","IconStreams")
RegDelete("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\TrayNotify","PastIconsStream")
EnvUpdate ( )
Ciao,
Saludos
-
Si eso hace desaparecer los iconos estaria perfecto.
Pero no falta algo de código??
EnvUpdate() que es o que hace??
Por que hay que cerrar el notepad.exe??
Saludos,
-
El ProcessClose cierra el notepad.exe, es un ejemplo puede ser cualquier proceso. No se como se llama el tuyo. :whistling:
El EnvUpdate() lo que hace es como un cerrar sesion y abrirla de nuevo, Por ejemplo si cambias el valor de la variable %path% del sistema, no tendrá efecto hasta que se resetee/cerrar sesion y abrir. Es para que actualice las modificaciones del registro.
De todas maneras el escript es una guia, son solamente 3 B) lineas de código sencillas aunque dificil de averiguar.
Buscate en tu manual como se haría lo de borrar las claves del registro (RegDelete), lo tendrías que compilar con el compilador para Autoit si quieres usarlo exacto como está ahi.
Saludos :blink:
-
Buenas.
Segun mi opinion, la opcion mas viable es evitar q la plicacion se cuelgue, puedes intentar con una funcion que compuebe el estado de la coneccion y en caso de que haya algun problema se desconecte.
Saludos