質問

私は、単純なファイルブラウザを持っているし、そこに私は、ファイルとフォルダを表示し、

(ディレクトリ)によって得られました
SHFILEINFO info = new SHFILEINFO();
SHGetFileInfo(filename,
FILE_ATTRIBUTE_DIRECTORY,
ref info,Marshal.SizeOf(info),
SHGFI_ICON | SHGFI_USEFILEATTRIBUTES | SHGFI_SMALLICON | SHGFI_ADDOVERLAYS);

これは100%正常に動作しますが、私は奇妙に気づいた - 私は、ディレクトリのアイコンを取得しようとするが、FILE_ATTRIBUTE_NORMAL代わりのFILE_ATTRIBUTE_DIRECTORYを指定します それはディレクトリの奇妙なものを行います - 通常のフォルダはごみ箱には、VLCのアイコンなどSVNの下のディレクトリが適切なオーバーレイを持っていますが、ベースファイルのアイコン(白い紙)を持って、「不明なファイルの種類白書」のアイコンがあります。

私は、ディレクトリのベースのアイコンは、現在未知のファイルのものであろうが、なぜ一部のフォルダが完全に変なアイコンを持っていないことを理解できますか? Config.MSIは、ごみ箱等VLCアイコン(WTF ?!)、シェル関数は、このパラメータを使用して何をするのかを持っている、インストーラのアイコンを持っていますか?まさにアイコンそれが取得するのですか。

繰り返しますが、これは問題ではありません、私は興味があります。

役に立ちましたか?

解決

私の知る限り、アイコンのリソースがその数値インデックスによってアクセスされている知っているようなので、私の推測では、右のインデックスが取得され、アイコンが、その後のいずれかから、間違ったライブラリー、または右のいずれかから取得されますが、間違った+オフセットを用いたということです正しいインデックス。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top