2012-05-10 2 views

답변

6

에 대한 Google 검색을 추가했습니다. 예를 들어, 바이러스 스캐너는 항상 그렇게합니다. Process Monitor으로 파일 활동을 쉽게 모니터링 할 수 있습니다. FileSystemWatcher Class을 사용하여 C#에서 프로그래밍 방식으로 수행 할 수도 있습니다. 그러나 프로그램이 열리지 못하게하거나 프로그램이 파일에 액세스하는 것을 막으려 고 시도하는 것은 C#에서는 수행 할 수 없습니다. C 또는 C++를 사용해야합니다. File System Filter Driver을 만들어야합니다. 그것은 당신이 필요로하는 것을 정확히 구축하는 것은 복잡한 일입니다. 견적하려면 MSDN :

A file system filter driver intercepts requests targeted at a file system or another file system filter driver. By intercepting the request before it reaches its intended target, the filter driver can extend or replace functionality provided by the original target of the request. Examples of file system filter drivers include anti-virus filters, backup agents, and encryption products.

3

원하는 경우 Windows API를 연결할 수 있습니다. .NET/C#으로 그렇게하기 위해이 방법을 체크 아웃 :

EasyHook Windows API

2

시스 인 터널은 임의의 윈도우 (.NET 응용 프로그램을 포함한) 프로세스 및 캡처에 부착하는 하나 개의 함수있는 프로세스 모니터라는 무료 도구를 제공합니다 파일 열기, 닫기, 읽기 등을 포함한 시스템 호출

Process Monitor Download Page에서 다운로드 할 수 있습니다.

편집

내가 질문을 다시 읽어, 나는 당신이 차단 가능성이 이러한 작업을 취소에 대해 요구하고 있음을 참조하십시오. FileSystemWatcher 클래스가 최선의 방법이라고 생각합니다. 파일 조작을 일방적으로 취소 할 수 있다고는 생각하지 않지만 호출자에게 작업을 중단하라는 신호를 보내려면 일종의 협력 메커니즘을 구축해야합니다.

1

나는 그 종류의 작업으로 커널에 들어가야한다는 것을 확신하며, C로 코딩해야한다는 것을 확신한다. File System Drivers을 봐라.

업데이트 : SO link가 도움이 될 수 있습니다.

UPDATE : 또한 Windows File System Drivers

하여 수행 할 수 있습니다 할 물어 무엇 What is a good resource to get started with Windows file system driver development?

+0

링크가 더 이상 작동하지 않습니다. –

+0

@JamesWilkins 임시이어야합니다. 두 링크가 모두 나를 위해 일했습니다. 베스트 – kenny

관련 문제