It is not an easy task. Even less from c#.
You have to list all opened file handles, and search for the folder you want to monitor.
This is a VC tutorial:
Listing Used Files[
^]
You can run this command line application from your code, and parse the result:
http://technet.microsoft.com/en-us/sysinternals/bb896655.aspx[
^]
But thsi should be the one you wanted.
https://github.com/o2platform/O2.Platform.Scripts/blob/master/APIs/Windows/Win32/API_Win32Processes_Handles.cs[
^]
In every case make sure, you have elevated privileges!
[Update]
Let's suppose this is not what you want. I have an other idea: since Windows Explorer and Internet Explorer have the same core, you have the possibility to list all opened instances of them and see what url's are open. And you can even distinguish between the two scenarios. See this short articla and sample code:
http://omegacoder.com/?p=63[
^]