FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Avisar a Windows que los archivos cambiaron
Hola,
Estoy copiando archivos de un directorio a otro con Delphi y la carpeta destino no me muestra los nuevos archivos sino hasta que oprimo F5. Creo recordar que existe una forma de avisarle a Windows por código que hubo cambios en el sistema de archivos para actualice el shell. ¿Saben algo de esto? // Gracias |
#2
|
||||
|
||||
SHChangeNotify ??
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
||||
|
||||
Gracias, justo andaba ahorita probando
ShChangeNotify(SHCNE_UPDATEDIR, SHCNF_PATH, PChar(Folder), nil); donde Folder es un string con el nombre de la carpeta destino pero no se entera (Windows). Aclaro un poco, lo que realmente estoy haciendo es cambiar a minúsculas los nombres de todos los archivos de un directorio con RenameFile. Quizá deba mejor usar ShFileOperation aunque pienso que debería funcionar así. // Saludos |
#4
|
||||
|
||||
Bueno, pues aún no encuentro qué es lo que falla en la llamada a ShChangeNotify pero por mientras veo que
ShChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil); sí funciona aunque no se supone que esté cambiando ninguna asociación de archivos (SHCNE_ASSOCCHANGED) y tiene le defecto de actualizar todo el shell y no sólo el folder deseado. // Saludosmil |
#5
|
||||
|
||||
Hola.
me pareció interesante también este que encontré en la msdn, pero que no está en mi ayuda del sdk... Cita:
Hasta luego. pd. felicidades por los dos mil mensajes!!
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#6
|
||||
|
||||
ups... por si no lo tenias, aqui está la referencia a la msdn sobre esta función...
http://msdn.microsoft.com/library/de...angenotify.asp Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#7
|
||||
|
||||
Gracias jachguate.
De hecho tengo el msdn instalado en mi pc pero por alguna razón no me está funcionado como pensaba. // Saludos |
#8
|
||||
|
||||
Ups, me estaba saltando este mensaje.
Cita:
Seguiré intentando. Tengo la sospecha de que funcionaría si en lugar de usar paths uso idlists pero se me complica la cosa para obtener el idlist del folder (se me hace demasiado para este 'caprichito' mio). Según el msdn existe la función SHILCreateFromPath para obtener el idlist a partir del nombre pero no he encontrado esta función en Delphi ni con un FindInFiles. Muchas gracias por el interés y por las felicitaciones. // Saludos |
#9
|
||||
|
||||
Debí haberlo supuesto
El primer intento con ShChangeNotify(SHCNE_UPDATEDIR, SHCNF_PATH, PChar(Folder), nil); era correcto... siempre y cuando no estemos trabajando en PlayStation, perdón, quize decir Windows XP. Ahora a buscar cómo se hace en XP // Saludos |
|
|
|