2012-07-14 3 views
0

파일을 이동/복사/삭제할 때 폴더가 파일과 함께 자동으로 이동/복사/삭제되도록 파일을 폴더에 바인딩하려고합니다. html 파일이 리소스가있는 폴더에 연결되는 방식과 비슷합니다.파일 시스템의 폴더에 파일을 연결/바인딩하는 방법

현재이 동작은 html 파일과 해당 "htmlFilename_files"폴더에서만 활성화됩니다. 이러한 동작에 대해 다른 파일 확장명을 등록하는 방법이 있습니까? 아니면 비슷한 동작을 제공하는 해킹이나 기능이 있습니까? 감사.

답변

0

HTML의 경우에도이 동작은 Explorer에만 해당됩니다.

문제는 파일 시스템 수준에서는 "복사"작업이없고 이동 작업은 사용자 모드에서 보는 것과 다릅니다.

기술적으로 파일 시스템 필터 드라이버를 만들고 RenameOrMove 및 Delete 작업을 일부 파일에서 추적 한 다음 디렉토리와 함께 일부 작업을 수행 할 수 있습니다. 하지만이 작업은 "읽기"+ "쓰기"작업의 순서 인 복사본에는 적합하지 않으며 읽기 및 쓰기와 일치하는 힘든 시간을 가질 수 있습니다 (그러나 필자는 필터 드라이버를 사용하여 복사를 추적하는 몇 가지 방법을 생각할 수 있습니다). 필터 드라이버를 직접 만들 수도 있지만 C 프로그래밍 및 특수 지식이 필요합니다. 드라이버를 직접 작성하거나 (read MSDN article) CallbackFilter 제품을 사용할 수 있습니다 (소프트웨어와 통합하기 위해 사전 작성된 드라이버 및 .NET API를 제공합니다).

데이터 파일이 사용자의 것이라면 모든 파일을 하나의 가상 컨테이너에 보관하는 것이 좋습니다.이 파일은 MHT 파일 (Internet Explorer에서 HTML + 보조 파일이 MHT에 결합 됨), ZIP 보관 또는 SolFS 저장소 일 수 있습니다 (SolFS는 가상 파일 시스템 제품). 그런 다음 사용자가 관리 할 수있는 파일이 하나뿐이므로 응용 프로그램 내부에 모든 파일이 있습니다.

외부 응용 프로그램이 컨테이너의 파일에 액세스 할 수있게하려면 가상 디스크를 만들 수 있습니다. 이러한 디스크는 컨테이너의 내용을 노출합니다. 어떤 콘테이너의 내용은 지금 죽은 Dokan 또는 Callback File System 제품을 사용하여 가상 디스크로 노출 될 수 있습니다.

관련 문제