Try this experiment. Run Windows Explorer in one window, go to a command-line session or another instance of Windows Explorer, and delete a file in the directory shown by the original Explorer. Watch what happens to the Explorer window. How does Windows Explorer know that a file has changed? The same way your programs can know: by using FindFirstChangeNotification, FindNextChangeNotification, and FindCloseChangeNotification.