문제

나는 (가상) 탈착식 드라이브를 꺼내려고 노력하고 있으며, 일부 파일 핸들이 열려 있고, 아마도 Explorer Windows가 있기 때문에 실패합니다. 해당 드라이브의 파일에 모든 오픈 핸들을 가져 와서 닫는 가장 좋은 방법은 무엇입니까?

또한 해당 드라이브를 실행하는 프로세스를 찾는 것이 (사용자 모드 내에서) 가능하므로 프로세스 이름으로 사용자에게 경고 할 수 있습니까?

이상적으로는 관리자 권한이 필요하지 않고 사용자 모드 앱 내 에서이 작업을 수행하고 싶습니다.

MFC 앱에서 Visual Studio 2005에서 VC ++를 사용하고 있지만 모든 언어 샘플을 환영합니다!

도움이 되었습니까?

해결책

그만큼 프로세스 탐색기 유틸리티는 오픈 핸들을 검색 할 수 있지만, 높은 특권없이 그렇게 할 수 있는지는 모르겠습니다. 내가 수집 할 수 있었던 것에서 "성능 카운터"API를 사용하여이를 수행합니다.

이 기사는 필요한 것을 수행하고, 실행중인 프로세스를 열거하고, 각각의 핸들을 열거하고, 해당 드라이브의 경로를 참조하는 파일 핸들을 찾으십시오.

프로세스 핸들을 열거하는 방법?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top