este no es el foro adecuado para mi post, pero sí el hilo... ??? He codeado un código para probarlo pero no funciona, cambio el nombre de algún archivo y no me dice nada. Aquí os dejo el código a ver qué le veis:
Creo que no hace falta decir que dicho archivo se encuentra en "D:\mon"
Código [Seleccionar]
#include <stdio.h>
#include <windows.h>
/*FUNCIÓN PRINCIPAL*/
void main()
{
//devuelde la descripción del error, a partir de su código
char *MensajeError(DWORD error_num);
HANDLE mon1=FindFirstChangeNotification("D:\\mon",TRUE,FILE_NOTIFY_CHANGE_FILE_NAME);
//creamos el handle
if(mon1==INVALID_HANDLE_VALUE)
{
printf("[!] Error al crear el handle -> %s",MensajeError(GetLastError()));
return;
}
for(;;)
{
if (FindNextChangeNotification(mon1)==0)
{
printf("\nCambio en el nombre de un archivo");
}
Sleep(100);
}
//cerramos y salimos
FindCloseChangeNotification(mon1);
return;
}
//devuelde la descripción del error, a partir de su código
char *MensajeError(DWORD error_num)
{
char *lpMsgBuf;
//cojemos el mensaje del error
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
error_num,
0,
(LPTSTR) &lpMsgBuf,
0,
NULL
);
return lpMsgBuf;
}
Creo que no hace falta decir que dicho archivo se encuentra en "D:\mon"