나는 C# .NET을 사용하여 파일 또는 폴더를 사용하는 다른 프로세스의 이름을 얻을, VS 2008, 나를 위해 .NET 3.5사용중인 파일이나 폴더에 대한 문제 :
, 어렵다, 그러나 나는 샘플 코드가 필요합니다 이것에 대한 C 번호 : 파일이나 폴더가 사용중인 경우 파일이나 폴더를 사용
경우
가는, 프로세스의 이름이 그것을
예를 들어, 내 문제.
파일을 삭제하려고하는데 "다른 프로세스에서 사용 중이기 때문에 프로세스가 'XYZ'파일에 액세스 할 수 없습니다." 예외.
File.Delete(infoFichero.Ruta);
은 내가 파일을 사용하는 프로세스의 이름을 사용하고, 있는지 확인합니다.
샘플 코드, 소스 코드가 필요합니다. 나는 C++을 사용하고 싶지 않다. 나는 c, C++, 비 관리 코드 또는 WinApi를 모른다. C# 코드 (관리 코드 .net) 만 사용하고 싶습니다.
나는 파일을 사용하는 경우
을 확인하는 방법, 여러 참조를 읽을 수는 있지만 샘플 코드 소스를 얻을하지?Emulate waiting on File.Open in C# when file is locked
How to check if a file is in use?
Easiest way to read text file which is locked by another application
Using C# is it possible to test if a lock is held on a file
편집 : 얀 6월에서 - MSFT
string path = "D:\\temp2.xlsx";
foreach (Process c in Process.GetProcesses()) {
if (c.MainWindowTitle.Contains(Path.GetFileName(path))){
MessageBox.Show(c.ProcessName);
return;
}
}
try{
FileInfo f = new FileInfo(path);
f.Delete();
}
catch (Exception ex){
MessageBox.Show(ex.Message);
}
... 그러나 모든 100 % 문제에 대한 해결책을 얻는 것은 어렵습니다.
문제 : c.MainWindowTitle == null이거나 파일 이름이 없으면 문제가 발생합니다.
공유 다른 컴퓨터, PC, 서버의 폴더, ... 등에 문제 :
File.delete를 (@ \ desiis 시간 \ 프로젝트 \의 script.targets \);
모든 샘플 코드는 도움 전문가, MVP, 누구에게 문의하십시오.
UPDATE : 폴더
3 명의 사람들이 투표를 할 예정이라면 적어도 그들이 왜 그렇게하고 있는지 말해야합니다. –