2012-03-10 22 views

Trả lời

7

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ý.

+1

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

+1

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

+2

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

Các vấn đề liên quan