2016-03-30 13 views
1

Dropbox, TortoiseSvn gibi uygulamalarda, dosya simgesinin altına eklenmiş küçük bir simge vardır.Bindirme Simge durumu nasıl bilinir?

Bu dosyaların bindirme simgesini nasıl edinebilirim? Bu, dosya A'yı hangi dosyaların kullandığını ve dosya senkronizasyon durumunu öğrenmek için hangi dosyaların B simgesini kullandığını bilmek istiyorum.

Bunu yapmak için C# içinde herhangi bir yolu var mı?

+0

Eğer dosya eşitleme durumundan sonra iseniz, SVN API'lerinden bunu simgelerden tersine tersine mühendislik yapmak yerine elde edebilirsiniz. İkon rotasına giderseniz, gecikmelere tabi olduğunu unutmayın; kullanıcılar tarafından önbelleğe alma ve devre dışı bırakma. – MickyD

+1

@MickyD, bu şekilde düşündüm, ama özel bir ihtiyacım var, Yer Paylaşımı Simgesini almalıyım. Yani herhangi bir öneri? –

cevap

-1

Bu kod, ilgili simgeyi pencerelerden bir dosyadan ayıklamanıza izin verecektir.

var sysicon = System.Drawing.Icon.ExtractAssociatedIcon(ExePath); 
var bmpSrc = System.Windows.Interop.Imaging.CreateBitmapSourceFromHIcon(
            sysicon.Handle, 
            System.Windows.Int32Rect.Empty, 
            System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions()); 
         sysicon.Dispose(); 
         bmpSrc.Freeze(); 
         fileIcon = bmpSrc; 
+1

Dosya simgeleri _overlay icons_ ile aynı şey değildir. Biri dosyaya gömülmüş veya bir uygulama tarafından sağlanmıştır. Yer paylaşımı simgeleri, eskiden üst üste yerleştirilir. – MickyD

+1

evet, @Thimmoth, Yer Paylaşım Simgelerine ihtiyacım var dosya simgesi, bana yardım edebilir misin? –

İlgili konular