Pokud vím, tak tohoto nelze prostředky .NET Frameworku dosáhnout. Teoreticky by to šlo udělat pomocí kombinace několika P/Invoke volání, která ale přesně neznám. Pokud by se Vám podařilo podchytit soubor při jeho vytváření (FileSystemWatcher, zda je stále v procesu vytváření byste zjistil tak, že byste jej zkusil otevřít pro čtení i zápis a odchytil výjimku), mohl byste následně teoreticky zjistit, která handle patří otevřenému souboru. S touto informací byste možná, nějak, opět teoreticky asi mohl manipulovat dále tak, že byste došel až k cestě programu, který soubor otevřel. Operační systém to umí, umí ukázat, která aplikace soubor blokuje, pokud se například snažíte smazat otevřený soubor, takže ta volání v systému jsou. Není to ale nic jednoduchého, bude to vyžadovat hodně úsilí nad rámec .NET Frameworku. K ruce by Vám mohl být třeba tento článek: http://www.codeproject.com/Articles/1897... A celkově další dotazy na Google typu "open file handle".
|