2010-03-22 20 views
8

Çeşitli dosyaların simgeleri üzerine farklı simge bindirmeleri eklemeye çalışıyorum (not: belirli türdeki tüm dosyalar değil, sadece belirli dosyalar). Ne demek istediğimi anlamıyorsanız, TortoiseSVN, TortoiseHG, Dropbox vb. Gibi programlara başvuruyorum..NET: Nasıl Dosya Simgesi Kaplamaları Oluştururum

Bu, .NET'de yapılabilir mi? Öyleyse nasıl? Bunun için bir kütüphane var. Böyle bir şey hakkında this CodeProject article buldum, ancak .NET değil.

Şimdiden teşekkürler.

cevap

5

Hayır, .NET değil. Kabuk programlama, yönetilmeyen C/C++ alanındadır. Shell32.dll, dilleri ve .NET komut dosyaları için bazı işlevleri sağlayan bir tür kitaplığına sahiptir. Ancak IShellIconOverlay arabirimi, IUnknown'dan komut dosyası için erişilebilir değil, devralınır. Teknik olarak mümkündür, ancak SDK'nın ShlObj.h başlık dosyasındaki bildirimi şablon olarak kullanarak C# içindeki arabirimi yeniden işaretlemeniz gerekir. Birisi muhtemelen bir yere yaptı, ama işe yaramaya çalışmak alışılmadık bir şey. Hızlı bir Google araması kullanışlı bir şey ortaya çıkarmaz. Umarız, .NET 4.0, CLR sürümü enjeksiyon problemini çözerek bazı etkinlikleri canlandıracaktır. Henüz bir işaret görmedim.

+0

Yani .NET 4.0 şimdi çıktı, şimdi mümkün mü? – EaterOfCode

+0

Hiç bir zaman * imkansız değildi. Bunu yayınladığımdan beri hiçbir şey değişmedi, .NET 4.0 etkinliği yeniden başlatmadı. Muhtemelen Microsoft desteklenmediğini açıkladı. –

+1

.NET, tüm bu işlevselliği destekliyor, neredeyse tüm standart uzantıları uygulamayı tamamladım, simge bindirmeleri burada: http://www.codeproject.com/Articles/545781/NET-Shell-Extensions-Shell-Icon -Yerleşimi elini –