<p>In Windows, is there an easy way to tell if a folder has a subfile that has changed?</p>

<p>I verified, and the last modified date on the folder does not get updated when a subfile changes.</p>

<p>Is there a registry entry I can set that will modify this behavior?</p>

<p>If it matters, I am using an NTFS volume. </p>

<p>I would ultimately like to have this ability from a C++ program.  </p>

<p><strong>Scanning an entire directory recursively will not work for me because the folder is much too large.</strong></p>

<p><strong>Update: I really need a way to do this without a process running while the change occurs.  So installing a file system watcher is not optimal for me.</strong> </p>

<p><strong>Update2: The archive bit will also not work because it has the same problem as the last modification date.  The file's archive bit will be set, but the folders will not.</strong></p>

If you can't run a process when the change occurs, then there's not much you can do except scan the filesystem, and check the modification date/time.  This requires you to store each file's last date/time, though, and compare.
You can speed this up by using the
archive bit
(though it may mess up your backup software, so proceed carefully).
An archive bit is a file attribute
  present in many computer file systems,
  notably FAT, FAT32, and NTFS. The
  purpose of an archive bit is to track
  incremental changes to files for the
  purpose of backup, also called
  archiving.
As the archive bit is a binary bit, it
  is either 1 or 0, or in this case more
  frequently called set (1) and clear
  (0). The operating system sets the
  archive bit any time a file is
  created, moved, renamed, or otherwise
  modified in any way. The archive bit
  therefore represents one of two
  states: "changed" and "not changed"
  since the last backup.
Archive bits are not affected by
  simply reading a file. When a file is
  copied, the original file's archive
  bit is unaffected, however the copy's
  archive bit will be set at the time
  the copy is made.
So the process would be:
Clear the archive bit on all the files
Let the file system change over time
Scan all the files - any with the archive bit set have changed
This will eliminate the need for your program to keep state, and since you're only going over the directory entries (where the bit is stored) and they are clustered, it should be very, very fast.
If you can run a process during the changes, however, then you'll want to look at the
FileSystemWatcher
class.  Here's an
example
of how you might use it.
It also exists in
.NET
(for future searchers of this type of problem)
Perhaps you can leave a process running on the machine watching for changes and creating a file for you to read later.
-Adam