ごみ箱アイコンインデックスの取得

[戻る]
tab 2006/05/25(木) 15:36:16
はじめまして、VCの初心者です。

現在エクスプローラに似たような機能のシステムを開発中です。


ごみ箱に割り当てられたアイコン(ごみあり/空)のインデックスを取得したいです。

ご存知の方、ご教授願います。
よろしくお願いいたします。

dairygoods 2006/05/25(木) 16:02:19
アイコンのインデックスというのが何を指しているのか分かりませんが、
ごみ箱のアイコンに関する情報は、レジストリにあります。

参考
http://longinus.dyndns.org/~delta/customize/othertips/021.php

tab 2006/05/25(木) 16:12:26
レスありがとうございました。

ごみ箱の元に戻す機能を実装しています。
元に戻すはIContextMenuを使ってできましたが。ごみ箱が空の場合、ツリービューに空
のアイコンを表示したいです。
「元に戻す」を実行後にGetSpecialFolderIconでアイコンを取得し、表示しようとしま
したが、どうもアイコンが変わらなくて、空の場合でも、ごみありのアイコンを表示し
てしまってました。

で、システムイメージリストの空のごみ箱のアイコンインデックスを取ってくれば、
SetItemImageでやればいいのかなと思いますが。そのアイコンインデックスの取り方が
分からないです。
かなり初歩的な質問ですが、よろしくお願いします。

シャノン 2006/05/25(木) 17:18:58
GetSpecialFolderIcon て何?

試してみたら、ごみ箱にごみが入っているかどうかによって、システムイメージリスト
中のアイコンも変わっているような。
両方のアイコンを取得しておいて切り替えるんじゃなくて、常に現在の最新のアイコン
を表示しておけば、自動的に適切なほうになるみたい。
ごみ箱のアイコンが変わったタイミングは、SHChangeNotifyRegister で監視できそうだ
な。

というか、システムイメージリストって、常に5つしかアイコン含んでないんだけど…
こんなんだったっけ?

tab 2006/05/25(木) 20:42:04
レスありがとうございました。


> GetSpecialFolderIcon て何?
GetSpecialFolderIconはこちらシステムの共通メソッドです。入ったばかりなので、共
通メソッドだと知らなくて、書いてしまって、大変失礼しました。(お礼)


> ごみ箱のアイコンが変わったタイミングは、SHChangeNotifyRegister で監視できそう
だな。
SHChangeNotifyRegisterというのはリターン値でアイコンが変わったかどうか分かるの
でしょうか。
英語得意ではないので、MSDNを読んでも、よく分からなかったです。

たびたび超初心な質問をして申し訳ないですが、ご教授お願いします。

シャノン 2006/05/25(木) 22:37:40
> 英語得意ではないので、MSDNを読んでも、よく分からなかったです。

プログラマやってくなら「英語苦手」は通用しないとよく言われます。
が、外人と会話できるような英語力は求められません。
MSDN、特に API リファレンスなら、名詞と動詞だけ拾って、なんとか文の意味が汲み取
れる程度で OK です。

まぁ、日本語サイトをぐぐった方が手っ取り早いかもしれませんけど…

> SHChangeNotifyRegisterというのはリターン値でアイコンが変わったかどうか
> 分かるのでしょうか。

いいえ。
SHChangeNotifyRegister である登録をしておくと、アイコンが変わったときに、メッセ
ージで通知してくれます。

tab 2006/05/26(金) 16:45:14
[[解決]]
解決できました。

親切に教えていただいて、ありがとうございました。

古いスレッドには追加発言できません。