

It would also be nice if it did not require administrative privileges. Another requirement which I didn't really state is that speed is fairly important I was planning on doing this for things like compiling a C++-file, and pulling up a full GUI which generates a 20 MB logfile will have prohibitive overhead. I'm really only interested in what files are opened, and if they are opened for read/write or just read.

If I narrow down my requirements even further, it is probably enough to be able to monitor calls to CreateFile(). This article provides a walkthrough on using the Process Monitor on Windows, tracing file system access by mysqld.exe during the install plugin call. I'm aware of Process Monitor, but I would like to receive the data in a form which I can import into another program for further analysis. I want to do this programmatically from another process. I'm primarily interested in running a process and figuring out which files it has read and written. YAPM offers lots of features to manipulate them, such as privilege management, memory management, a complete history of statistics, a. and your services on a local or on a remote machine. On Linux I can probably get away using strace with suitable parameters, but how can I do this on Windows? Yet Another (remote) Process Monitor (YAPM) is a powerful application that allows to view and manage your running tasks, processes, threads, modules.etc. I would like to be able to monitor certain system calls made by a process, primarily file I/O calls.
