Fortunately for my requirements it will be just a single audio file at any time. The user would have the file open in the editor component of my program (which allows the user to set levels, start and end points, and any looping requirements) but then decides to edit the file itself using an external editor such as GoldWave or Sound Forge. So while the file is open in my program's editor, I will run a thread using the Windows functions you suggest to raise an event if a change is detected on that file.