![]() |
Pues la verdad, hacerlo como pretende es escabroso, pero yo creo que ya es una cuestión de curiosidad, a ver si le sale, más que por una cuestión práctica, y como él dice:
Cita:
|
Cita:
Otro ejemplo es cuando cambias un icono con TuneUP o algun otro programa cuando aceptas los cambios, los iconos se refrescan. algo asi mas o menos es lo que se desea hacer. Cita:
Muchas gracias a todos por sus comentarios. La verdad... eso es verdad, valga la redundancia.:D:D yo quiero aprender y este tema me ha ayudad mucho.:eek::D saludos desde colombia.:) keyboy voy a mirar la funcion. gracias. |
Cita:
Código:
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)Saludos |
Cita:
|
Cita:
|
Cita:
aunque lo prbe pero lo probe y no se adapta a lo que neceisto... ShChangeNotify... como es la sintaxis??? que pena pero mis conocimientos no son muy grandes... Saludos y gracias. |
Si, también funciona;
Código:
SHSTDAPI_(void) SHChangeNotify(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2);
Saludos |
Cita:
voy a probar. Gracias |
Nop, ya probe y no hace lo que esperaba.... aunque es muy util, ya que si cambio el autorun de la usb para darle un nuevo icono
esta funcion lo acutaliza (aveces) sin necesidad de sacarla y meterla de nuevo. con respecto al explorer... no pasa nada. no se si conocen el Desktop.ini bueno un amigo me pidio que le hiziera algo donde el seleccionara la imagen y el programa le creara el desktop y le actualizara la imagen al salir.... ese es mi objetivo y por eso hize esta pregunta??? de todas maneras muchas gracias.... la verdad com dijo el amigo escafandra la verdad no esperaba averiguar tanto aca.... gracias. |
Este es un exelente foro....
es uno de los emjores. Grcias. El Negriz. |
hola...
Alguna otra sugerencia para actualizar el Desktop??? Grcias. |
hola, gracias a todos por la ayuda.
he probado con la funcion SHChangeNotify... ahun si exito, pero creo que la solucion esta alli... Gracias a todos... Se acepatan sugerencias... Saludos. El Negriz |
Me gustaría resucitar este hilo para aportar un detalle útil en este tema, al menos para mi.
Código:
SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);He traceado los mensajes del explorador y he visto dos cosas interesantes: 1º Al pulsar F5 se genera un mensaje WM_COMMAND LPARAM 0x1A220 LPARAM 0 2º Al elegir la opción de menú ver \ actualizar, se genera un mensaje WM_COMMAND LPARAM 0x0A220 LPARAM 0 Así que: Código:
PostMessage(HWND_BROADCAST, WM_COMMAND, 0x0A220, 0);La pega está en que este sistema es muy dependiente del software del explorador actual y si Microsoft lo cambia dejará de funcionar, así como no funcionará, muy posiblemente, en otros exploradores. Como curiosidad, me ha parecido interesante publicarlo. Saludos. |
Bueno, he de hacer una aclaración a mi post anterior.
El sistema funciona tal cual, pero SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0); envía a "todas" las ventanas top-level. He comprobado que algunos elementos del Microsoft Office reaccionan mal a ese mensaje y se cuelgan. Como la idea me sigue pareciendo buena, he creado un código para enviar el mensaje a todas las ventanas de una determinada clase (ClassName) con lo que el "bug" queda solucionado. Publico el código, considero que puede ser interesante para otras utilidades también. Código:
// Estructura con los datos del mensaje a enviar y el nombre de la clase de ventanaCódigo:
PostMessageToWindowClass("CabinetWClass", WM_COMMAND, 0x0A220, 0);Saludos. |
pues la verdad si estab un poco muerto, voy a mirar gracias.
|
pues va de maravilla, muchas gracias...
|
| La franja horaria es GMT +2. Ahora son las 00:37:02. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi