Как освободить файл, который используется другой программой

Как освободить файл, который используется другой программой на C#?

if(!IsFileLocked(fileName))
{
    // write in file
}
else
{    
   // first   ReleaseFile(fileName);    
   // two     write in file    
}

2 ответа

Вы не можете контролировать другие процессы блокировки файлов в C# изначально. Единственный вариант - использовать Process.Kill для уничтожения процессов, блокирующих файл, предполагая, что вы знаете, что это за процессы.

Двойной вопрос Как освободить дескриптор через C#?

используйте PInvoke, если у вас есть обработчик, который вы хотите закрыть

[System.Runtime.InteropServices.DllImport("Kernel32")]
private extern static Boolean CloseHandle(IntPtr handle);
Другие вопросы по тегам