c#で別のプログラムが使用しているファイルを解放するには?
if(!IsFileLocked(fileName))
{
// write in file
}
else
{
// first ReleaseFile(fileName);
// two write in file
}
C# では、他のプロセスによるファイルのロックをネイティブに制御することはできません。唯一のオプションは、プロセスがどのプロセスであるかを知っていると仮定して、 Process.Kill を使用してファイルをロックしているプロセスを強制終了することです。
重複した質問C#でハンドルを解放するには?
閉じたいハンドラーがある場合は、PInvoke を使用します。
[System.Runtime.InteropServices.DllImport("Kernel32")]
private extern static Boolean CloseHandle(IntPtr handle);