/// <summary>
/// 파일이 다른 프로세스에 의해 사용중인지 점검
/// </summary>
/// <param name="filePath">파일경로</param>
/// <param name="secondsToWait">사용중이면 잠시 기다릴 시간</param>
/// <returns>사용중이면 true</returns>
public static bool IsFileLocked(string filePath, int secondsToWait)
{
bool isLocked = true;
int i = 0;
while (isLocked && ((i < secondsToWait) || (secondsToWait == 0)))
{
try
{
using (File.Open(filePath, FileMode.Open)) { }
return false;
}
catch (IOException e)
{
var errorCode = System.Runtime.InteropServices.Marshal.GetHRForException(e) & ((1 << 16) - 1);
isLocked = errorCode == 32 || errorCode == 33;
i++;
if (secondsToWait != 0)
new System.Threading.ManualResetEvent(false).WaitOne(1000);
}
}
return isLocked;
}
출처 : http://kimstar.kr/5990/
.NET CLR Project 만들기 샘플(음력/양력변환) (0) | 2016.02.26 |
---|---|
DES 파일 암호화 / 복호화 (0) | 2016.02.25 |
IP Address, MAC Address 구하기 (0) | 2016.02.25 |
유선 IPv4 Address 구하기 (0) | 2016.02.25 |
ODBC 연결문자열 (0) | 2016.02.02 |