배경 :다른 방법으로 파일의 속성을 가져 오는 방법은 무엇입니까?
은 내가 FileSystemWatcher
클래스를 사용하여 로컬 시스템에있는 파일의 변경을 감시 파일 모니터링 서비스를하고 난 Created
, Deleted
, Renamed
같은 이벤트를 처리하고있다. 이러한 이벤트가 발생하면 , FileSize
, CreationTime
, LastAccessTime
, LastWriteTime
등의 파일 속성을 FileSystemInfo
클래스를 사용하여 가져 오려고합니다.
문제 :이 서비스가 실행되고
동안, 나는이 일부 프로그램 (예를 들어, 마이크로 소프트 시큐리티 에센셜)를 제거 할 수 없습니다입니다. 이 서비스 만 실행 중이면 해당 프로그램을 제거 할 수 있기 때문에 이러한 서비스가 삭제 표시된 파일의 리소스에 매달려 있다고 느낍니다.
내 질문은 ALTERNATIVE
& 효율적인 방법으로 GET THE PROPERTIES OF THE FILE
(위에서 지정한대로) without hanging on to the resources of the file
어떻게 할 수 있습니까?
다음은 일반적으로 이러한 파일 '꽉'하지 않습니다 FileSystemInfo를 사용 근실 FileSystemInfo
public void OnCreate/OnRenamed(object source, FileSystemEventArgs e)
{ FileInfo file = new FileInfo(e.FullPath);
String output = "<Event><TimeStamp>" + currentTime + "</TimeStamp>";
output += "<Name>" + action + "</Name>";
output += "<Properties><FileName>" + file.Name + "</FileName>";
output += "<FullPath>" + file.FullName + "</FullPath>";
output += "<FileSize>" + file.Length + "</FileSize>";
output += "<CreationTime>" + String.Format("{0:yyyyMMdd-HHmmss.fff}", file.CreationTime) + "</CreationTime>";
output += "<LastAccess>" + String.Format("{0:yyyyMMdd-HHmmss.fff}", file.LastAccessTime) + "</LastAccess>";
output += "<LastWriteTime>" + String.Format("{0:yyyyMMdd-HHmmss.fff}", file.LastWriteTime = DateTime.Now) + "</LastWriteTime></Properties></Event>";
}
, 데릭
프로세스 탐색기를 실행하고 _really_ 파일에 매달려 있는지 확인하십시오. 야생 거위 쫓는 데는 아무런 포인트가 없습니다. – Mrchief
확인을 위해 어떻게해야합니까? – Derek
[this] (http://captaindbg.com/tutorial-and-advance-troubleshooting-using-process-explorer/)를 참조하십시오. 아래로 스크롤하여 "핸들 레벨 문제 해결" – Mrchief