2011-01-02 4 views
1

가능한 중복 :
How does one figure out what process locked a file using c#?
How do I find out which process is locking a file using .NET?특정 파일을 잠그는 프로세스 이름을 얻는 방법은 무엇입니까?

안녕, 난 프로세스 느릅 나무의 이름을 얻으려고

는 파일 (뿐만 아니라 DLL 모듈을, 락 (lock) 파일). 예를 들어, 프로세스 "프로세스 A"가 "C : \ temp \ test.txt"의 파일 스트림을 열면이를 감지해야합니다 (Windows 탐색기에서 파일을 삭제하려고하면 프로세스가 종료 될 때까지 잠겨 있습니다).

에 유래에 대한 몇 가지 예를 좋아 있습니다 How does one figure out what process locked a file using c#?
Determine which process (b)locks a file, programmatically (under Windows >= XP)

나는 예 위 tryed,하지만 그들 중 누구도 작동하지 않습니다.

또한 Win32 API 함수 NtQuerySystemInformation에 대해 읽었지만 어떻게 사용하는지 모르겠다. 해당 PInvoke 코드를 찾을 수 없습니다.

+1

의 이름 "그들 중 누구도 작동하지 않습니다"- 정교한하시기 바랍니다. 답이 잘못 되었습니까? 답을 잘못 이해 했습니까? 이해할 수 없습니까? 답이 맞지 않습니까? – bzlm

+0

그들은 항상 모든 프로세스에 대해 빈 결과를 반환합니다. – Alexander

+0

... 프로세스에 대한 모든 모듈을로드해도 텍스트 파일을 잠그는 사람을 결정하려고 시도해도 나에게 아무런 의미가 없습니다. 권리? – Alexander

답변

-1

이미 주석 (bzlm과 Richard에 의해)에서 언급했듯이 handle.exe가 도움이 될 것입니다.

0

나는 SysInternals에서 Process Explorer을 사용합니다 (설치가 필요하지 않습니다. 하나의 exe입니다).

  1. Ctrl 키 + F (처리 또는 DLL 찾기)
  2. 입력 잠긴 파일
관련 문제