I am creating a software that will save the present state of all the applications running on the desktop (WinXP).

Can anyone point out the method to extract the filenames from the handles (or otherwise) of the files that are being accessed by processes and programs ?

For example : If I have opened xyz.docx in MS Word 2007 then I want to find out the name of the file ("xyz.docx") and its complete path through some mean which could be either :

1. Reading or extracting information from the Word 2007 process handle.
2. Through another non- handle based general method.

Kindly help !