Как освободить файл, который используется другой программой
Как освободить файл, который используется другой программой на 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);