Je desire connaitre tous les changements qui ont lieu dans un repertoire.
Pour cela, j'utilise la fonction ReadDirectoryChangesW(). J'ai ecrit un
programme de test, qui fonctionne (j'obtiens bien une notification quand
une fichier ou repertoire est supprime, quand il est modifie, etc...),
mais il me manque une fonctionalite : distinguer, lors de l'ajout ou la
suppression d'un fichier ou d'un repertoire, si c'est un fichier ou bien
si c'est un repertoire. En effet, a priori, dans la structure
FILE_NOTIFY_INFORMATION, je n'ai que l'information de suppression ou
d'ajout, sans savoir s'il s'agit d'un fichier ou d'un repertoire.
Le programme de test se trouve ici : http://pastebin.ca/1483658
Une possibilite serait de lister les fichiers avant et apres et de voir
la difference a chaque notification, mais ca me semble etre une solution
qui peut s'averer couteuse si le nombre de fichier est grand.
Existe-t-il une autre solution, basee sur l'utilisation de
ReadDirectoryChangesW() ?
certes, dans le cas de l'addition vu que j'ai acces au nom de fichier. Mais dans le cas de la suppression ?
On a aussi accès au nom du fichier...
domi
Vincent Torri wrote:
Christian ASTOR écrivait news:4a4f28a8$0$296 $:
Vincent Torri wrote:
certes, dans le cas de l'addition vu que j'ai acces au nom de fichier. Mais dans le cas de la suppression ?
On a aussi accès au nom du fichier...
et ? Qu'est-ce que j'en fais dans la meesure ou le fichier (ou le repertoire) a ete efface... ? J'ai beau avoir le nom, a part avoir une copie de la liste des fichiers, a priori, je ne peux rien en faire.
Tu disais :
"il me manque une fonctionalite : distinguer, lors de l'ajout ou la suppression d'un fichier ou d'un repertoire, si c'est un fichier ou bien si c'est un repertoire"
donc avec GetFileAttributes comme a dit Robert tu as bien l'information.
Vincent Torri wrote:
Christian ASTOR <castorix@club-internet.fr> écrivait news:4a4f28a8$0$296
$7a628cd7@news.club-internet.fr:
Vincent Torri wrote:
certes, dans le cas de l'addition vu que j'ai acces au nom de fichier.
Mais dans le cas de la suppression ?
On a aussi accès au nom du fichier...
et ? Qu'est-ce que j'en fais dans la meesure ou le fichier (ou le
repertoire) a ete efface... ? J'ai beau avoir le nom, a part avoir une
copie de la liste des fichiers, a priori, je ne peux rien en faire.
Tu disais :
"il me manque une fonctionalite : distinguer, lors de l'ajout ou la
suppression d'un fichier ou d'un repertoire, si c'est un fichier ou bien
si c'est un repertoire"
donc avec GetFileAttributes comme a dit Robert tu as bien l'information.
certes, dans le cas de l'addition vu que j'ai acces au nom de fichier. Mais dans le cas de la suppression ?
On a aussi accès au nom du fichier...
et ? Qu'est-ce que j'en fais dans la meesure ou le fichier (ou le repertoire) a ete efface... ? J'ai beau avoir le nom, a part avoir une copie de la liste des fichiers, a priori, je ne peux rien en faire.
Tu disais :
"il me manque une fonctionalite : distinguer, lors de l'ajout ou la suppression d'un fichier ou d'un repertoire, si c'est un fichier ou bien si c'est un repertoire"
donc avec GetFileAttributes comme a dit Robert tu as bien l'information.
domi
Vincent Torri wrote:
domi écrivait news:h2nh23$mbk$:
donc avec GetFileAttributes comme a dit Robert tu as bien l'information.
pas lors de la suppression. Suppose que je fasse le monitoring d'un repertoire. Via une autre application, un fichier est supprime. Le programme qui fait le monitoring detecte une suppression. Si j'utilise GetFileAttribute avec le nom que je peux en effet recuperer, ca me renverra une erreur (forcement, le fichier n'existant plus).
Oui, mais comme il a dit : tu initialises ta liste ou tableau avec les fichiers/répertoires du répertoire au tout début 1 seule fois, que tu mets à jour en cas de suppression ou ajout de fichier ou répertoire.
donc avec GetFileAttributes comme a dit Robert tu as bien
l'information.
pas lors de la suppression. Suppose que je fasse le monitoring d'un
repertoire. Via une autre application, un fichier est supprime. Le
programme qui fait le monitoring detecte une suppression. Si j'utilise
GetFileAttribute avec le nom que je peux en effet recuperer, ca me
renverra une erreur (forcement, le fichier n'existant plus).
Oui, mais comme il a dit : tu initialises ta liste ou tableau avec les
fichiers/répertoires du répertoire au tout début 1 seule fois, que tu
mets à jour en cas de suppression ou ajout de fichier ou répertoire.
donc avec GetFileAttributes comme a dit Robert tu as bien l'information.
pas lors de la suppression. Suppose que je fasse le monitoring d'un repertoire. Via une autre application, un fichier est supprime. Le programme qui fait le monitoring detecte une suppression. Si j'utilise GetFileAttribute avec le nom que je peux en effet recuperer, ca me renverra une erreur (forcement, le fichier n'existant plus).
Oui, mais comme il a dit : tu initialises ta liste ou tableau avec les fichiers/répertoires du répertoire au tout début 1 seule fois, que tu mets à jour en cas de suppression ou ajout de fichier ou répertoire.
Christian ASTOR
Vincent Torri wrote:
ce que je trouve effarant, c'est que l'api de windows ne puisse pas fournir ce genre de renseignement simple. D'un cote, on demande la notification d'un repertoire ou (inclusif) d'un fichier (et on fait bien la distinction entre les 2), et de l'autre, on ne peut pas savoir lequel a ete supprime.
Tu peux créer 2 threads, 1 pour les notifications de fichiers (FILE_NOTIFY_CHANGE_FILE_NAME), l'autre pour les répertoires (FILE_NOTIFY_CHANGE_DIR_NAME)..
Vincent Torri wrote:
ce que je trouve effarant, c'est que l'api de windows ne puisse pas
fournir ce genre de renseignement simple. D'un cote, on demande la
notification d'un repertoire ou (inclusif) d'un fichier (et on fait bien
la distinction entre les 2), et de l'autre, on ne peut pas savoir lequel
a ete supprime.
Tu peux créer 2 threads, 1 pour les notifications de fichiers
(FILE_NOTIFY_CHANGE_FILE_NAME), l'autre pour les répertoires
(FILE_NOTIFY_CHANGE_DIR_NAME)..
ce que je trouve effarant, c'est que l'api de windows ne puisse pas fournir ce genre de renseignement simple. D'un cote, on demande la notification d'un repertoire ou (inclusif) d'un fichier (et on fait bien la distinction entre les 2), et de l'autre, on ne peut pas savoir lequel a ete supprime.
Tu peux créer 2 threads, 1 pour les notifications de fichiers (FILE_NOTIFY_CHANGE_FILE_NAME), l'autre pour les répertoires (FILE_NOTIFY_CHANGE_DIR_NAME)..
robert
Vincent Torri a écrit :
Je desire connaitre tous les changements qui ont lieu dans un repertoire. Pour cela, j'utilise la fonction ReadDirectoryChangesW(). J'ai ecrit un programme de test, qui fonctionne (j'obtiens bien une notification quand une fichier ou repertoire est supprime, quand il est modifie, etc...), mais il me manque une fonctionalite : distinguer, lors de l'ajout ou la suppression d'un fichier ou d'un repertoire, si c'est un fichier ou bien si c'est un repertoire. En effet, a priori, dans la structure FILE_NOTIFY_INFORMATION, je n'ai que l'information de suppression ou d'ajout, sans savoir s'il s'agit d'un fichier ou d'un repertoire.
Le programme de test se trouve ici : http://pastebin.ca/1483658
Une possibilite serait de lister les fichiers avant et apres et de voir la difference a chaque notification, mais ca me semble etre une solution qui peut s'averer couteuse si le nombre de fichier est grand.
Existe-t-il une autre solution, basee sur l'utilisation de ReadDirectoryChangesW() ?
merci
Bonjour,
Tu peux utiliser GetFileAttributes pour savoir si tu as affaire à un fichier ou à un répertoire.
Vincent Torri a écrit :
Je desire connaitre tous les changements qui ont lieu dans un repertoire.
Pour cela, j'utilise la fonction ReadDirectoryChangesW(). J'ai ecrit un
programme de test, qui fonctionne (j'obtiens bien une notification quand
une fichier ou repertoire est supprime, quand il est modifie, etc...),
mais il me manque une fonctionalite : distinguer, lors de l'ajout ou la
suppression d'un fichier ou d'un repertoire, si c'est un fichier ou bien
si c'est un repertoire. En effet, a priori, dans la structure
FILE_NOTIFY_INFORMATION, je n'ai que l'information de suppression ou
d'ajout, sans savoir s'il s'agit d'un fichier ou d'un repertoire.
Le programme de test se trouve ici : http://pastebin.ca/1483658
Une possibilite serait de lister les fichiers avant et apres et de voir
la difference a chaque notification, mais ca me semble etre une solution
qui peut s'averer couteuse si le nombre de fichier est grand.
Existe-t-il une autre solution, basee sur l'utilisation de
ReadDirectoryChangesW() ?
merci
Bonjour,
Tu peux utiliser GetFileAttributes pour savoir si tu as affaire à un
fichier ou à un répertoire.
Je desire connaitre tous les changements qui ont lieu dans un repertoire. Pour cela, j'utilise la fonction ReadDirectoryChangesW(). J'ai ecrit un programme de test, qui fonctionne (j'obtiens bien une notification quand une fichier ou repertoire est supprime, quand il est modifie, etc...), mais il me manque une fonctionalite : distinguer, lors de l'ajout ou la suppression d'un fichier ou d'un repertoire, si c'est un fichier ou bien si c'est un repertoire. En effet, a priori, dans la structure FILE_NOTIFY_INFORMATION, je n'ai que l'information de suppression ou d'ajout, sans savoir s'il s'agit d'un fichier ou d'un repertoire.
Le programme de test se trouve ici : http://pastebin.ca/1483658
Une possibilite serait de lister les fichiers avant et apres et de voir la difference a chaque notification, mais ca me semble etre une solution qui peut s'averer couteuse si le nombre de fichier est grand.
Existe-t-il une autre solution, basee sur l'utilisation de ReadDirectoryChangesW() ?
merci
Bonjour,
Tu peux utiliser GetFileAttributes pour savoir si tu as affaire à un fichier ou à un répertoire.
Vincent Torri
robert écrivait news:4a4f06a9$0$27783$:
Vincent Torri a écrit :
Le programme de test se trouve ici : http://pastebin.ca/1483658
Une possibilite serait de lister les fichiers avant et apres et de voir la difference a chaque notification, mais ca me semble etre une solution qui peut s'averer couteuse si le nombre de fichier est grand.
Existe-t-il une autre solution, basee sur l'utilisation de ReadDirectoryChangesW() ?
merci
Bonjour,
Tu peux utiliser GetFileAttributes pour savoir si tu as affaire à un fichier ou à un répertoire.
certes, dans le cas de l'addition vu que j'ai acces au nom de fichier. Mais dans le cas de la suppression ?
robert <robert@free.fr> écrivait
news:4a4f06a9$0$27783$426a74cc@news.free.fr:
Vincent Torri a écrit :
Le programme de test se trouve ici : http://pastebin.ca/1483658
Une possibilite serait de lister les fichiers avant et apres et de
voir la difference a chaque notification, mais ca me semble etre une
solution qui peut s'averer couteuse si le nombre de fichier est
grand.
Existe-t-il une autre solution, basee sur l'utilisation de
ReadDirectoryChangesW() ?
merci
Bonjour,
Tu peux utiliser GetFileAttributes pour savoir si tu as affaire à un
fichier ou à un répertoire.
certes, dans le cas de l'addition vu que j'ai acces au nom de fichier.
Mais dans le cas de la suppression ?
Le programme de test se trouve ici : http://pastebin.ca/1483658
Une possibilite serait de lister les fichiers avant et apres et de voir la difference a chaque notification, mais ca me semble etre une solution qui peut s'averer couteuse si le nombre de fichier est grand.
Existe-t-il une autre solution, basee sur l'utilisation de ReadDirectoryChangesW() ?
merci
Bonjour,
Tu peux utiliser GetFileAttributes pour savoir si tu as affaire à un fichier ou à un répertoire.
certes, dans le cas de l'addition vu que j'ai acces au nom de fichier. Mais dans le cas de la suppression ?
robert
Vincent Torri a écrit :
robert écrivait news:4a4f06a9$0$27783$:
Vincent Torri a écrit :
Le programme de test se trouve ici : http://pastebin.ca/1483658
Une possibilite serait de lister les fichiers avant et apres et de voir la difference a chaque notification, mais ca me semble etre une solution qui peut s'averer couteuse si le nombre de fichier est grand.
Existe-t-il une autre solution, basee sur l'utilisation de ReadDirectoryChangesW() ?
merci
Bonjour,
Tu peux utiliser GetFileAttributes pour savoir si tu as affaire à un fichier ou à un répertoire.
certes, dans le cas de l'addition vu que j'ai acces au nom de fichier. Mais dans le cas de la suppression ?
Effectivement, je n'avais pas pensé. Dans ce cas, tu pourrais faire un listage une fois au début pour te constituer un ensemble de données que tu mettras à jour à chaque notification. Ainsi pour connaitre le type lors de la suppression tu iras voir dans cet ensemble. Lors de l'ajout, tu utilises GetFileAttributes.
Vincent Torri a écrit :
robert <robert@free.fr> écrivait
news:4a4f06a9$0$27783$426a74cc@news.free.fr:
Vincent Torri a écrit :
Le programme de test se trouve ici : http://pastebin.ca/1483658
Une possibilite serait de lister les fichiers avant et apres et de
voir la difference a chaque notification, mais ca me semble etre une
solution qui peut s'averer couteuse si le nombre de fichier est
grand.
Existe-t-il une autre solution, basee sur l'utilisation de
ReadDirectoryChangesW() ?
merci
Bonjour,
Tu peux utiliser GetFileAttributes pour savoir si tu as affaire à un
fichier ou à un répertoire.
certes, dans le cas de l'addition vu que j'ai acces au nom de fichier.
Mais dans le cas de la suppression ?
Effectivement, je n'avais pas pensé.
Dans ce cas, tu pourrais faire un listage une fois au début pour te
constituer un ensemble de données que tu mettras à jour à chaque
notification. Ainsi pour connaitre le type lors de la suppression tu
iras voir dans cet ensemble. Lors de l'ajout, tu utilises GetFileAttributes.
Le programme de test se trouve ici : http://pastebin.ca/1483658
Une possibilite serait de lister les fichiers avant et apres et de voir la difference a chaque notification, mais ca me semble etre une solution qui peut s'averer couteuse si le nombre de fichier est grand.
Existe-t-il une autre solution, basee sur l'utilisation de ReadDirectoryChangesW() ?
merci
Bonjour,
Tu peux utiliser GetFileAttributes pour savoir si tu as affaire à un fichier ou à un répertoire.
certes, dans le cas de l'addition vu que j'ai acces au nom de fichier. Mais dans le cas de la suppression ?
Effectivement, je n'avais pas pensé. Dans ce cas, tu pourrais faire un listage une fois au début pour te constituer un ensemble de données que tu mettras à jour à chaque notification. Ainsi pour connaitre le type lors de la suppression tu iras voir dans cet ensemble. Lors de l'ajout, tu utilises GetFileAttributes.
Vincent Torri
robert écrivait news:4a4f0917$0$421$:
Vincent Torri a écrit :
robert écrivait news:4a4f06a9$0$27783$:
Vincent Torri a écrit :
Le programme de test se trouve ici : http://pastebin.ca/1483658
Une possibilite serait de lister les fichiers avant et apres et de voir la difference a chaque notification, mais ca me semble etre une solution qui peut s'averer couteuse si le nombre de fichier est grand.
Existe-t-il une autre solution, basee sur l'utilisation de ReadDirectoryChangesW() ?
merci
Bonjour,
Tu peux utiliser GetFileAttributes pour savoir si tu as affaire à un fichier ou à un répertoire.
certes, dans le cas de l'addition vu que j'ai acces au nom de fichier. Mais dans le cas de la suppression ?
Effectivement, je n'avais pas pensé. Dans ce cas, tu pourrais faire un listage une fois au début pour te constituer un ensemble de données que tu mettras à jour à chaque notification. Ainsi pour connaitre le type lors de la suppression tu iras voir dans cet ensemble. Lors de l'ajout, tu utilises GetFileAttributes.
c'est ce que j'ai ecrit dans le premier post. Mais je peux tres bien avoir un repertoire avec plusieurs centaines de fichiers (photos de vacances, par exemple)
robert <robert@free.fr> écrivait
news:4a4f0917$0$421$426a74cc@news.free.fr:
Vincent Torri a écrit :
robert <robert@free.fr> écrivait
news:4a4f06a9$0$27783$426a74cc@news.free.fr:
Vincent Torri a écrit :
Le programme de test se trouve ici : http://pastebin.ca/1483658
Une possibilite serait de lister les fichiers avant et apres et de
voir la difference a chaque notification, mais ca me semble etre
une solution qui peut s'averer couteuse si le nombre de fichier est
grand.
Existe-t-il une autre solution, basee sur l'utilisation de
ReadDirectoryChangesW() ?
merci
Bonjour,
Tu peux utiliser GetFileAttributes pour savoir si tu as affaire à un
fichier ou à un répertoire.
certes, dans le cas de l'addition vu que j'ai acces au nom de
fichier. Mais dans le cas de la suppression ?
Effectivement, je n'avais pas pensé.
Dans ce cas, tu pourrais faire un listage une fois au début pour te
constituer un ensemble de données que tu mettras à jour à chaque
notification. Ainsi pour connaitre le type lors de la suppression tu
iras voir dans cet ensemble. Lors de l'ajout, tu utilises
GetFileAttributes.
c'est ce que j'ai ecrit dans le premier post. Mais je peux tres bien
avoir un repertoire avec plusieurs centaines de fichiers (photos de
vacances, par exemple)
Le programme de test se trouve ici : http://pastebin.ca/1483658
Une possibilite serait de lister les fichiers avant et apres et de voir la difference a chaque notification, mais ca me semble etre une solution qui peut s'averer couteuse si le nombre de fichier est grand.
Existe-t-il une autre solution, basee sur l'utilisation de ReadDirectoryChangesW() ?
merci
Bonjour,
Tu peux utiliser GetFileAttributes pour savoir si tu as affaire à un fichier ou à un répertoire.
certes, dans le cas de l'addition vu que j'ai acces au nom de fichier. Mais dans le cas de la suppression ?
Effectivement, je n'avais pas pensé. Dans ce cas, tu pourrais faire un listage une fois au début pour te constituer un ensemble de données que tu mettras à jour à chaque notification. Ainsi pour connaitre le type lors de la suppression tu iras voir dans cet ensemble. Lors de l'ajout, tu utilises GetFileAttributes.
c'est ce que j'ai ecrit dans le premier post. Mais je peux tres bien avoir un repertoire avec plusieurs centaines de fichiers (photos de vacances, par exemple)
robert
Vincent Torri a écrit :
robert écrivait news:4a4f0917$0$421$:
Vincent Torri a écrit :
robert écrivait news:4a4f06a9$0$27783$:
Vincent Torri a écrit :
Le programme de test se trouve ici : http://pastebin.ca/1483658
Une possibilite serait de lister les fichiers avant et apres et de voir la difference a chaque notification, mais ca me semble etre une solution qui peut s'averer couteuse si le nombre de fichier est grand.
Existe-t-il une autre solution, basee sur l'utilisation de ReadDirectoryChangesW() ?
merci
Bonjour,
Tu peux utiliser GetFileAttributes pour savoir si tu as affaire à un fichier ou à un répertoire.
certes, dans le cas de l'addition vu que j'ai acces au nom de fichier. Mais dans le cas de la suppression ?
Effectivement, je n'avais pas pensé. Dans ce cas, tu pourrais faire un listage une fois au début pour te constituer un ensemble de données que tu mettras à jour à chaque notification. Ainsi pour connaitre le type lors de la suppression tu iras voir dans cet ensemble. Lors de l'ajout, tu utilises GetFileAttributes.
c'est ce que j'ai ecrit dans le premier post. Mais je peux tres bien avoir un repertoire avec plusieurs centaines de fichiers (photos de vacances, par exemple)
Dans ton premier post tu proposes de lister après chaque notification. Je propose de ne le faire qu'une seule fois au début, c'est différent.
Vincent Torri a écrit :
robert <robert@free.fr> écrivait
news:4a4f0917$0$421$426a74cc@news.free.fr:
Vincent Torri a écrit :
robert <robert@free.fr> écrivait
news:4a4f06a9$0$27783$426a74cc@news.free.fr:
Vincent Torri a écrit :
Le programme de test se trouve ici : http://pastebin.ca/1483658
Une possibilite serait de lister les fichiers avant et apres et de
voir la difference a chaque notification, mais ca me semble etre
une solution qui peut s'averer couteuse si le nombre de fichier est
grand.
Existe-t-il une autre solution, basee sur l'utilisation de
ReadDirectoryChangesW() ?
merci
Bonjour,
Tu peux utiliser GetFileAttributes pour savoir si tu as affaire à un
fichier ou à un répertoire.
certes, dans le cas de l'addition vu que j'ai acces au nom de
fichier. Mais dans le cas de la suppression ?
Effectivement, je n'avais pas pensé.
Dans ce cas, tu pourrais faire un listage une fois au début pour te
constituer un ensemble de données que tu mettras à jour à chaque
notification. Ainsi pour connaitre le type lors de la suppression tu
iras voir dans cet ensemble. Lors de l'ajout, tu utilises
GetFileAttributes.
c'est ce que j'ai ecrit dans le premier post. Mais je peux tres bien
avoir un repertoire avec plusieurs centaines de fichiers (photos de
vacances, par exemple)
Dans ton premier post tu proposes de lister après chaque notification.
Je propose de ne le faire qu'une seule fois au début, c'est différent.
Le programme de test se trouve ici : http://pastebin.ca/1483658
Une possibilite serait de lister les fichiers avant et apres et de voir la difference a chaque notification, mais ca me semble etre une solution qui peut s'averer couteuse si le nombre de fichier est grand.
Existe-t-il une autre solution, basee sur l'utilisation de ReadDirectoryChangesW() ?
merci
Bonjour,
Tu peux utiliser GetFileAttributes pour savoir si tu as affaire à un fichier ou à un répertoire.
certes, dans le cas de l'addition vu que j'ai acces au nom de fichier. Mais dans le cas de la suppression ?
Effectivement, je n'avais pas pensé. Dans ce cas, tu pourrais faire un listage une fois au début pour te constituer un ensemble de données que tu mettras à jour à chaque notification. Ainsi pour connaitre le type lors de la suppression tu iras voir dans cet ensemble. Lors de l'ajout, tu utilises GetFileAttributes.
c'est ce que j'ai ecrit dans le premier post. Mais je peux tres bien avoir un repertoire avec plusieurs centaines de fichiers (photos de vacances, par exemple)
Dans ton premier post tu proposes de lister après chaque notification. Je propose de ne le faire qu'une seule fois au début, c'est différent.
Vincent Torri
Christian ASTOR écrivait news:4a4f28a8$0$296 $:
Vincent Torri wrote:
certes, dans le cas de l'addition vu que j'ai acces au nom de fichier. Mais dans le cas de la suppression ?
On a aussi accès au nom du fichier...
et ? Qu'est-ce que j'en fais dans la meesure ou le fichier (ou le repertoire) a ete efface... ? J'ai beau avoir le nom, a part avoir une copie de la liste des fichiers, a priori, je ne peux rien en faire.
Christian ASTOR <castorix@club-internet.fr> écrivait news:4a4f28a8$0$296
$7a628cd7@news.club-internet.fr:
Vincent Torri wrote:
certes, dans le cas de l'addition vu que j'ai acces au nom de fichier.
Mais dans le cas de la suppression ?
On a aussi accès au nom du fichier...
et ? Qu'est-ce que j'en fais dans la meesure ou le fichier (ou le
repertoire) a ete efface... ? J'ai beau avoir le nom, a part avoir une
copie de la liste des fichiers, a priori, je ne peux rien en faire.
certes, dans le cas de l'addition vu que j'ai acces au nom de fichier. Mais dans le cas de la suppression ?
On a aussi accès au nom du fichier...
et ? Qu'est-ce que j'en fais dans la meesure ou le fichier (ou le repertoire) a ete efface... ? J'ai beau avoir le nom, a part avoir une copie de la liste des fichiers, a priori, je ne peux rien en faire.