2016-03-30 27 views
1

Dropbox、TortoiseSvnなどのアプリケーションでは、ファイルアイコンの下部に小さなアイコンが付いています。オーバーレイアイコンの状態を知る方法?

これらのファイルのオーバーレイアイコンを取得するにはどうすればよいですか。つまり、どのファイルがアイコンAを使用しているか、どのファイルがアイコンBを使用してファイルの同期状態を知っているかを知りたいということです。

これを行うには何らかの方法がありますか?

+0

ファイル同期ステータスの後では、アイコンの外観からリバースエンジニアリングするのではなく、SVN APIから取得することができます。あなたがアイコンルートに行く場合、それは遅延の対象であることに注意してください。キャッシュし、ユーザーによって無効にされます。 – MickyD

+1

@MickyD、私はその方法を考えましたが、私は特別な要件があります、私はオーバーレイアイコンを取得する必要があります。だから何か提案? –

答えて

-1

このコードでは、ウィンドウ内のファイルから関連するアイコンを抽出できます。

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

ファイルアイコンは_overlayアイコン_と同じではありません。 1つはファイルに埋め込まれているか、アプリケーションによって提供されています。オーバーレイアイコンは、オーバーレイアイコンに重ねられます。 – MickyD

+1

はい、@ティムス、私はファイルアイコンではないオーバーレイアイコンが必要です、あなたは私を助けることができますか? –

関連する問題