Ứng dụng của tôi thêm một số siêu dữ liệu tùy chỉnh vào tệp. Tôi muốn hiển thị nó trong Windows Explorer như thế này:Hiển thị tiêu đề tùy chỉnh hoặc cột trong Windows Explorer
hay này:
Có cách nào để làm điều này trong NET?
Ứng dụng của tôi thêm một số siêu dữ liệu tùy chỉnh vào tệp. Tôi muốn hiển thị nó trong Windows Explorer như thế này:Hiển thị tiêu đề tùy chỉnh hoặc cột trong Windows Explorer
hay này:
Có cách nào để làm điều này trong NET?
Nó có thể được thực hiện trên XP sử dụng một phần mở rộng Handler vỏ Cột - xem ở đây: http://www.codeproject.com/Articles/3747/Explorer-column-handler-shell-extension-in-C#
Tuy nhiên IColumnHandler
không được hỗ trợ trên Vista trở lên. Ở đây bạn phải thực hiện PropertyHandler
. Xem Windows SDK \Samples\winui\Shell\AppShellIntegration\PropertyHandlers
.
Mỗi thuộc tính được mô tả bằng tệp XML lược đồ thuộc tính. Lược đồ thuộc tính này phải được đăng ký với PSRegisterPropertySchema()
. Trình xử lý thuộc tính triển khai IInitializeWithXXX
, IPropertyStore
và tùy chọn IPropertyStoreCapabilities
. Bạn phải đăng ký CLSID
việc triển khai của mình cho từng tiện ích mở rộng tệp mà bạn muốn xử lý.
Rất tiếc, bạn không thể sử dụng AllFileSystemObject
hoặc *
khi đăng ký.
Xin lỗi, đã chỉnh sửa câu trả lời của tôi để thêm thông tin cho Vista và Win7. Và đưa thông tin này vào tài khoản cũng: http://stackoverflow.com/questions/8914425/windows-7-property-handler-works-in-explorer-but-not-fileopendialog – Flot2011
Hãy cho tôi biết nếu điều này là đủ tốt cho bạn: http://msdn.microsoft.com/en-us/library/windows/desktop/dd940375(v=vs.85).aspx – Flot2011
thường không phải là ý tưởng hay để viết tiện ích mở rộng vỏ trong mã được quản lý. xem tại đây: http://blogs.msdn.com/b/codefx/archive/2010/09/14/writing-windows-shell-extension-with-net-framework-4-c-vb-net-part-1 .aspx Tuy nhiên, có thể, tôi sẽ cố gắng tìm một số mã cũ của tôi và đăng nó ở đây. – Flot2011