это возможно с помощью WMI ... ниже образца фрагмента c #, используемого для определения, чей доступ к акциям в настоящий момент
using System.Management;
ManagementObjectSearcher search =
new ManagementObjectSearcher("root\\CIMV2","SELECT * FROM Win32_ConnectionShare");
foreach (ManagementObject MO in search.Get())
{
string antecedent = MO["antecedent"].ToString();
ManagementObject share = new ManagementObject(antecedent);
string dependent = MO["dependent"].ToString();
ManagementObject server = new ManagementObject(dependent);
string userName = server["UserName"].ToString();
string compname = server["ComputerName"].ToString();
string sharename = server["ShareName"].ToString();
}
Не уверен насчет основных файловых событий для WMI. Но вы можете легко интегрировать это в NoramlFileSystemWatcher. И запустите приведенный выше код, если в сетевом пути обнаружено изменение.