Since I posted I have continue to research this topic and found that it is pretty much a non starter. For a time I held out some hopes for the system.diagnostics.process class, but the best thing that has to offer is a handle count, there is no collection of handles available to inspect. I then moved onto the possiblity of creating a a wrapper for a win32 api call, so I started reasearching the win32 api only to find that there was no help top be had there either. I finally discovered that this information can only be gleaned from undocumented calls to the "NT native api" - something I didn't even know existed till now. Since ultimately I needed to know the PID for the process that has locked a file, m ogden's solution doesn't work for me. I have to abandon this topic for now but I may well come back to it one day. If I ever get the working solution, I'll certainly post back.