Código para actualizar GUI de winXP

Hola.
Estoy haciendo una aplicación en Macromedia Director MX para personalizar el aspecto de windows XP: iconos, wallpaper, salvapantallas, sonidos etc.
Mi problema consiste en que algunos de los cambios que mi programa realiza (p. Ej. El tamaño de los iconos) no se actualizan en pantalla inmediatamente.
No es suficiente con actualizar el escritorio, si no que es necesario hacer que aparezca ese diálogo que dice "Espere" y pone la pantalla en blanco y negro hasta que termina de actualizarla. No sé si sabes a qué me refiero, aparece al aplicar algún cambio en las propiedades de pantalla.
He visto que programas como windowblinds o styleXP fuerzan a windows a hacer este tipo de actualización de pantalla, pero lamentablemente Macromedia Director no dispone de esa posibilidad.
La Pregunta:
¿Hay alguna forma de escribir un .bat o algo similar que haga que windows XP actualice completamente los gráficos o voy a tener que pedirle al usuario de mi programa que reinicie tras cambiar el aspecto de su XP?
Respuesta
1
En principio no debe haber problemas, pues los demás programas/procesos no dependen de EXPLORER.EXE. Seguirán ejecutándose. Un efecto no deseado de esto puede ser que algunos programas no vuelvan a situar sus "TrayIcons" junto a la hora en la barra de Windows.
Gracias por la premura.
Para llamar a las APIs desde Director uso un Xtra llamado BuddyAPI, pero no tengo opción de hacer lo que yo necesito, así que he pensado en otra solución:
Desde Director ejecuto un programa freeware llamado "Killprocess.exe" (http://www.softtreetech.com/24x7/extras/KillProcess.exe), y le indico que termine el proceso "explorer.exe" con timeout = 0. En XP, explorer.exe se re-ejecuta automáticamente y así los cambios quedan actualizados.
Te comento esto por si pudiese haber algún problema con este método: que explorer se resista a cerrarse, que un antivirus desautorice la maniobra u otra cosa. En mi máquina va bien con XP Pro (SP1a), y con Panda, ZoneAlarmPro y AdWatch(de la suite Ad-Aware) monitorizando.
Gracias por tu ayuda.
Saludos.
Desgraciadamente con un .BAT se pueden hacer más bien pocas cosas, y menos cosas relacionadas con el sistema gráfico. Podrías crear un programita en un lenguaje de sistema y llamar a las APIs de Windows para esto. Este programa se podría ejecutar desde un .BAT o cualquier otro método. No veo otra forma de hacerlo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas