Je zippe des fichiers dans un dossier en utilisant les bibliothèques DotNetZip. Pour identifier les fichiers actuellement ouverts par d'autres processus, j'utilise 'handle.exe' de SysInternals.com. Je fais ceci en l'appelant avec des paramètres et en analysant la sortie, le long de ces lignes.Identification des poignées de processus et des verrous sur les fichiers du code managé
using (Process handleProcess = new Process())
{
// -- Set up the parameters and call the process.
handleProcess.StartInfo.FileName = "handle.exe";
handleProcess.StartInfo.UseShellExecute = false;
handleProcess.StartInfo.RedirectStandardOutput = true;
handleProcess.StartInfo.Arguments = "-u " + fileName;
handleProcess.Start();
...
Qui fonctionne mais a l'air d'un kludge à ce sujet. Quelqu'un peut-il suggérer une meilleure approche dans le code managé?