2012-12-18 18 views
7

Tôi có một bộ sưu tập lớn các thư mục cho các dự án mà tôi đang làm việc. Tôi đã cố gắng tìm cách tốt hơn để sắp xếp tất cả trong một thời gian dài và tôi muốn viết một ứng dụng tạo nhóm dựa trên bất kỳ tiêu chí nào tôi nói, chẳng hạn như "thư mục từ năm 2011" hoặc "thư mục chứa loại rìu tệp "v.v.Tạo Thư mục Ảo và móc chúng vào hệ thống tệp

Điều này khá đơn giản và sẽ không gây ra nhiều vấn đề khi sử dụng giao diện người dùng của riêng nó trong winForms hoặc WPF hoặc thứ gì đó. Nhưng tôi nghĩ rằng nó sẽ tốt hơn nếu tôi có thể làm cho các thư mục này xuất hiện là một phần của hệ thống tập tin, vì vậy các ứng dụng khác (như những người khám phá tệp hiện có) có thể thấy chúng.

Điều này có khả thi không? Nó sẽ gây ra vấn đề tôi đã không xem xét? Làm thế nào để tôi thực hiện nó nếu có thể? Một cách mà tôi nghĩ là làm cho ứng dụng theo dõi hệ thống tập tin và tạo lối tắt thư mục mỗi khi có thay đổi, nhưng tôi tò mò về việc liệu nó có thể thực sự trình bày một hệ thống tệp giả mạo để khám phá thông qua một 'hay không.' thư mục cửa ngõ'

EDIT: Ok nó rõ ràng càng tốt vì http://www.virtualfolder.net/ có thể làm điều đó, và bây giờ mà tôi nghĩ về nó như vậy có thể TrueCrypt, mặc dù nó sẽ được tốt đẹp nếu nó không phải xuất hiện như một riêng biệt lái xe. Vì vậy, câu hỏi trở thành, làm thế nào để thực hiện nó?

+0

Windows 7 có chức năng đó được tích hợp sẵn –

Trả lời

4

Điều này được thực hiện bằng trình điều khiển hệ thống tập tin hoặc trình điều khiển bộ lọc hệ thống tập tin. Đầu tiên cho phép bạn tạo một hệ thống tập tin ảo và gắn nó vào một ký tự ổ đĩa và cũng đến một thư mục trên ổ đĩa NTFS (thư mục phải tồn tại nhưng nội dung của nó được "thay thế" bằng cây thư mục hệ thống tệp ảo). Trình điều khiển bộ lọc hệ thống tập tin cho phép bạn giới thiệu các tệp và thư mục ảo trong các thư mục hiện có mà không thay thế chúng.

VirtualFolder sử dụng trình điều khiển hệ thống tệp vì nó tạo ra ký tự ổ đĩa.

Cả hai loại trình điều khiển đều được viết bằng C và hoạt động ở chế độ lõi. Viết chúng đòi hỏi kiến ​​thức sâu về nội bộ Windows và kinh nghiệm với việc phát triển trình điều khiển (vì trình điều khiển hệ thống tập tin là một trong những loại trình điều khiển phức tạp nhất).

Chúng tôi cung cấp một số sản phẩm liên quan đến bộ nhớ ảo. Một trong số đó, Callback File System, là một trình điều khiển hệ thống tập tin. Nó gọi mã chế độ người dùng của bạn để thực hiện các chức năng hệ thống tệp thực tế. Một sản phẩm khác, CallbackFilter, là một trình điều khiển bộ lọc FS (và nó cũng gọi mã chế độ người dùng của bạn). Tuy nhiên, phiên bản hiện tại của CallbackFilter không cho phép bạn giới thiệu các tệp và thư mục ảo (điều này sẽ được triển khai trong bản phát hành tiếp theo).

Cũng có sẵn sản phẩm Pismo File Mount, chúng sử dụng kỹ thuật điều khiển bộ lọc. Bạn có thể kiểm tra với họ nếu những gì bạn cần có thể được thực hiện.

9

Bạn có thể tạo Shell Namespace Extension tập hợp thông tin tệp bạn muốn và hiển thị nó trong Windows Explorer theo bất kỳ cách nào bạn muốn. You can choose where tiện ích mở rộng của bạn được đặt, cho dù là nút cấp cao nhất của chính nó, con của một thư mục/tiện ích ảo hệ thống khác hoặc là con của thư mục hệ thống tệp.

Viết SNE không nhỏ, nhưng dễ dàng hơn nhiều sau đó viết trình điều khiển hệ thống tệp cấp thấp hơn và không yêu cầu trình biên dịch hướng trình điều khiển đặc biệt. Bất kỳ trình biên dịch nào hỗ trợ phát triển các đối tượng COM sẽ hoạt động.

0

Từ những gì tôi thu thập, bạn đang tìm cách trình bày kết quả của truy vấn tệp được xác định trước để xuất hiện như thể chúng được đặt tại một vị trí cụ thể trong hệ thống tệp. Nếu điều đó đúng, bạn có thể muốn xem xét Hard Links and Junctions.Có những giới hạn về những gì bạn có thể làm với các dịch vụ hệ thống tệp này. Tuy nhiên nó thực sự là thẳng về phía trước để thực hiện.