C++ (특히 Visual C++)에서는 다른 실행 파일이 열렸으며 읽기 용으로 공유하지 않기 때문에 파일을 열 수없는 경우가 있습니다. 그런 파일을 열려고하면 파일을 잠그고있는 사람을 프로그램 적으로 어떻게 찾을 수 있습니까?Win32 파일이 읽기 위해 잠겨 있습니다. 누가 잠그고 있는지 찾아야합니다.
6
A
답변
11
Windows 2000 이상에서는 커널 모드 드라이버를 사용하지 않으면이 작업을 수행 할 수 없습니다. Process Explorer 및 기타 유사한 도구가 드라이버를 자동으로로드하여이를 수행합니다. 이는 파일 핸들이 커널 공간에 있고 사용자 모드 응용 프로그램 (EXE 파일)에서 액세스 할 수 없기 때문입니다.
정말 관심이 있으시면 this project을 참조하십시오.
3
MSDN에서 승인 한 방법은 IFileIsInUse::GetAppName()
입니다. 비스타가 필요합니다.
관련 문제
- 1. 오류 # 3119 : 데이터베이스 파일이 잠겨 있습니다.
- 2. Subversion에서 어떤 파일이 잠겨 있는지 확인하는 가장 좋은 방법은 무엇입니까?
- 3. Explorer에서 IE 플러그인을 잠그고 있습니다.
- 4. 행이 업데이트를 위해 잠겨 있는지 확인하는 방법은 무엇입니까?
- 5. msvsmon이 내 pdbs를 잠그고 있습니다.
- 6. IsolationLevel.Snapshot을 사용하지만 DB가 여전히 잠겨 있습니다.
- 7. boost :: mutex/뮤텍스가 잠겨 있는지 테스트하는 방법
- 8. 주어진 테이블에 대해 잠겨있는 행을 찾고 누가 SQL Server에서 잠그고 있는지 찾으십시오.
- 9. sass --watch 프로세스가 터미널 창을 잠그고 있습니다.
- 10. 워크 스테이션이 잠겨 있는지 프로그래밍 방식으로 확인할 수 있습니까?
- 11. 누가 기능을 사용했는지 알고 있습니다.
- 12. 서비스가 워크 스테이션이 잠겨 있고 화면 보호기가 활성화되어 있는지 감지해야합니다.
- 13. Microsoft.Office.Interop.MSProject - 파일을 열려고 할 때 내 파일이 항상 잠겨 있습니까?
- 14. 파일이 비어 있습니다.
- 15. 이동식 드라이브를 잠그고 있습니까?
- 16. 사용자가 워크 스테이션에 로그인되어 있는지 또는 워크 스테이션이 잠겨 있는지 확인하는 방법?
- 17. £가 입력되면 PuTTY에 Emacs가 잠겨 있습니다.
- 18. PHP 세션이 ajax long-polling로 잠겨 있습니다.
- 19. 누가 스크립트를 호출하고 있는지 알아보십시오. (cron)
- 20. 텍스트 파일이 있는지 확인하십시오.
- 21. Java 파일이 URL에 있습니다.
- 22. 파일이 열려 있는지 확인하십시오.
- 23. 파일이 열려 있는지 확인
- 24. win32 : 윈도우가 최소화되어 있는지 확인하십시오.
- 25. Sun Directory Server 5.2의 LDAP 사용자가 Java에서 잠겨 있는지 알아보기
- 26. 누가 android.provider.Telephony.SMS_RECEIVED을 (를) 듣고 있는지 확인하는 방법?
- 27. 파일이 열려 있는지 확인 Lua가
- 28. VB에서 폴더가 있는지 확인하여 파일이 있는지 확인하십시오.
- 29. SQL Server가 잠겨 있습니까?
- 30. hadoop- 파일이 쓰여지고 있는지 확인하십시오.
프로세스 탐색기가'System' 프로세스의 DLL을보고 드라이버를로드하고있는 것을 볼 수 있습니다; 당신은'PROCEXP113.SYS'와 비슷한 드라이버를 보게 될 것입니다. –