I decided to create this component, because the Windows ShellChangeNotifier isn't able to return for what and where something happend !
So with this component, you can track a file or a dir (and sub dirs), and it returns for each file what happend : new file, file deleted or file changed.

Properties :

FileToSpy The filename to spy, if you run this component in smFile mode
PathToSpy The parent dir to spy, if you run this component in smPath mode.
ExcludeSubPaths Sub-path from the root path (in smPath mode) excluded of the spy mode
WatchSubTree if TRUE, then the subtrees of the parent dir are spied too (can consume processor time !)
RefreshFrequency milliseconds between which the component decide to finally call you (15000 (15 secs) is a good value)
SpyMode smNone : inactive, smFile : spy only the "FileToSpy", smPath : spy the Dir (and subdirs if checked)
ShowDebug returns debug information too (using neOther Status)
CallOnceByGroup make only a call (for a specific event), even if there were more than one file touched (used to say something like "they are new file(s) in dir" when files were added)
OnNotifyChange New notify function. It returns, for each file, its size, its attributes and the reason (File Changed, New File or File Deleted. neOther is a debug string)