Probléme pour récuperer le nom du Fichier API Windows

Probléme pour récuperer le nom du Fichier API Windows - C++ - Programmation

Marsh Posté le 22-06-2009 à 11:15:24    

Bonjour,
 
j'ai créé une fonction de monitoring de répertoire, tous compile bien, elle marche.
 
Mais j'aurai besoin de récupérer le nom du fichier qui a était créé et je ne c'est absolument pas comment faire.
 
 
Voici mon code :
Code :

Code :
  1. void RefreshDirectory(LPTSTR lpDir)
  2. {
  3.  
  4.    _tprintf(TEXT("Directory (%s) changed.\n" ), lpDir);
  5. }


 
 
Code :
 

Code :
  1. DWORD dwWaitStatus;
  2. HANDLE dwChangeHandles[2];
  3. dwChangeHandles[0] = FindFirstChangeNotification(
  4.     "D:\\Documents and Settings\\A159754\\Bureau\\serveur\\rapport",               
  5.     FALSE,                       
  6.     FILE_NOTIFY_CHANGE_FILE_NAME); 
  7. if (dwChangeHandles[0] == INVALID_HANDLE_VALUE)
  8.     ExitProcess(GetLastError());
  9. dwChangeHandles[1] = FindFirstChangeNotification(
  10.     "D:\\Documents and Settings\\A159754\\Bureau\\serveur\\rapport",                       
  11.     TRUE,                         
  12.     FILE_NOTIFY_CHANGE_DIR_NAME); 
  13. if (dwChangeHandles[1] == INVALID_HANDLE_VALUE)
  14.     ExitProcess(GetLastError());
  15. while (TRUE)
  16. {
  17.    
  18.     dwWaitStatus = WaitForMultipleObjects(2, dwChangeHandles,
  19.         FALSE, INFINITE);
  20.     switch (dwWaitStatus)
  21.     {
  22.         case WAIT_OBJECT_0:
  23.             RefreshDirectory("D:\\Documents and Settings\\A159754\\Bureau\\serveur\\rapport" );
  24.             if ( FindNextChangeNotification(
  25.                     dwChangeHandles[0]) == FALSE )
  26.                 ExitProcess(GetLastError());
  27.                 cout<< "coucou4";
  28.             break;
  29.         case WAIT_OBJECT_0 + 1:
  30.             RefreshTree("D:\\Documents and Settings\\A159754\\Bureau\\serveur\\rapport" );
  31.             if (FindNextChangeNotification(
  32.                     dwChangeHandles[1]) == FALSE)
  33.                 ExitProcess(GetLastError());
  34.                
  35.             break;
  36.         default:
  37.             ExitProcess(GetLastError());
  38.     }
  39. }


 
 
Si vous avez une idée ou une solution je suis preneur.
 
Cordialement

Reply

Marsh Posté le 22-06-2009 à 11:15:24   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed