2011-11-04 94 views
0

在我的項目中,我需要爲文件系統中選定的文件和文件夾實現圖標疊加。當你右鍵單擊文件/文件夾並選擇上下文菜單時,文件/文件夾的圖標必須覆蓋與一個小圖標。Shell圖標擴展編程

我新的Windows外殼程序,並沒有足夠的時間來做[R & d

回答

0

嗯,我知道它的晚來回答你的問題,但是這可能會提供一些線索給他人,甚至你,如果安:我現在還不知道。

通常,在上下文菜單和圖標疊加處理程序之間需要一些共享媒體/結構。

你可以讓map/hash包含文件/文件夾的路徑,這些文件/文件夾需要在圖標疊加處理程序中有疊加圖標。處理程序每​​次都要求shell搜索路徑,並從IShellIconOverlayIdentifier :: IsMemberOf返回S_OK,否則返回S_FALSE。

現在,您需要找到一種通信方式,因此當您的上下文菜單命令被觸發時,它應該將文件/文件夾的路徑發送到圖標覆蓋處理程序中的列表線程,在此線程將地圖中的路徑插入處理程序用來確定是否將圖標放在請求的文件/文件夾上。

不要忘記在此共享地圖上實施合適的鎖定。

另一個問題是,如果您需要圖標在Windows重新啓動後仍然保持可用,您可以定期將映射內容轉儲到磁盤文件,並在每次啓動shell時重新填充它。