begin process at 2012 05 29 15:10:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Fichier & Disque

 > 

pb acces avec createfile et ReadDirectoryChangesW


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pb acces avec createfile et ReadDirectoryChangesW

jeudi 17 avril 2008 à 12:16:53 | pb acces avec createfile et ReadDirectoryChangesW

kts_system

bonjour,

voila mon probleme : j'ai une classe qui permet de reperer les changement dans un dossier (ajout / modif /suppression)

poutr cela je lance un thread qui fait un "CreateFile" sur le dossier qui doit etre surveiller puis j'utilise le handle qu'il me retourne dans la fonction "ReadDirectoryChangesW" . Une fois que le thread tourne je vais ds mon dossier debuit explorer :

l'ajout et la suppression de dossier, fichier marche impec (les infos sont bien remonter) mais le renomage d'un dossier fils au dossier sur lequel j'ai fait un create file est impossible (j'ai le msg window "cette ressource est utiliser par un autre appli ...")
par contre j peu renomer les sous dossier sans prob.

Un ex pour etre plus clair. Si je fait le create file sur c:\ il sera impossible de renomer tous les sous dossier de c (par ex Windows, program file...) par contre je pourait renomer un sous dossier de window ou program file sans prob

voila j'espere avoir eté un minimum clair, si qq'un a une idéé en tous cas voila le code du thread

//créé le handle du dossier a surveiller

HANDLE hDir = CreateFile( pThis->m_strPathToWatch,

FILE_LIST_DIRECTORY, /* access (read-write)

mode */

FILE_SHARE_READ|FILE_SHARE_DELETE,

/* share mode */

NULL,

/* security descriptor */

OPEN_EXISTING,

/* how to create */

FILE_FLAG_BACKUP_SEMANTICS,

/* file attributes */

NULL

/* file with attributes to

copy */

);

FILE_NOTIFY_INFORMATION Buffer[1024];

DWORD BytesReturned;

//Pb si on arrete le thread pendant qu'il est bloquer sur ReadDirectoryChangesW

//on est obliger de forcer le thread a ce terminer (pas tres propre)

while (!pThis->m_bStop)

{

//Attent les changements

if( ReadDirectoryChangesW( hDir, /* handle to directory */

&Buffer,

/* read results buffer */

sizeof(Buffer), /* length of buffer */

TRUE,

/* monitoring option */

/*FILE_NOTIFY_CHANGE_SECURITY|*/

FILE_NOTIFY_CHANGE_CREATION|

FILE_NOTIFY_CHANGE_LAST_ACCESS|

FILE_NOTIFY_CHANGE_LAST_WRITE|

FILE_NOTIFY_CHANGE_SIZE|

FILE_NOTIFY_CHANGE_ATTRIBUTES|

FILE_NOTIFY_CHANGE_DIR_NAME|

FILE_NOTIFY_CHANGE_FILE_NAME,

/* filter conditions */

&BytesReturned,

/* bytes returned */

NULL,

/* overlapped buffer */

NULL))

/* completion routine */

{

//code de traitement
}

CloseHandle(hDir);



Cette discussion est classée dans : buffer, file, dossier, change, notify


Répondre à ce message

Sujets en rapport avec ce message

Mettre un fichier .exe dans un buffer [ par guiguikun ] Je n'arrive pas a mettre un fichier executable en memoire.sur les 100Ko du fichier, mon buffer ne compte que les 3 premiers octets (caracteres)voici m envoi fichier via socket [ par elanspeech ] Bonjour,J'ai fait un client/serveur, la communication se passe bien. cependant, je ne parviens pas a envoyer plusieurs fichiers a la suite avec la soc [C++]Copie de masse de tout ce qu'il y a dan sun dossier [ par alexou09 ] Bonjour a tous! J'ai fait un programme permettant de copier un fichier. J'aimerai l'ameliorer de fasson a ce qu'il detecte tout les fichier d'un dossi execution de programme [ par silverfr78021959 ] bonjour a tous, voilà j'ai un probleme quand je veux executer mon prog sur devc++ il m'ouvre la fenteree dos mais la referme aussi tot je peux donc pa demande conseil class [ par silverfr78021959 ] salut as tousje voudrais faire la meme chose que le programme montré ci-dessous, sauf que lamapEt comment je peu acceder au valeur contenu d probleme réduoération de variable contenu dans une map [ par silverfr78021959 ] bonjour.Voilà j'aurais juste une petite question à poser concernant un petit programme. En faite g créer un une calsse avec une fonction ect... cela f Enumerer les fichiers d'un dossier [ par elo29 ] Bonjour!! J'utilise le code suivant, pour énumérer les fichiers contenus dans un dossier : WIN32_FIND_DATA File; HANDLE hSearch; BOOL re; hSearch=F lecture fichier binaire [ par SesechXP ] Salut !Je cherche à lire des données dans un fichier binaire afin de les réafficher en ascii.Voici la tête du fichier à lire @10004A 75 6C 69 65 6E FF File Mapping entre 2 programmes [ par Arkadias ] Bonjour,Je développe une application ou il sera nécessaire à 2 programmes différents (mais éxecuté sur la même machine) d'échanger les données d'un bu caracteres chelous avec ReadFile() ???? [ par SnOOpss ] Salut j'ai un probleme tout con avec Readfile()                 HANDLE hdl;                 hdl=CreateFile(data3,GENERIC_RE


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales