does anyone know how a namespace extension can alter the icon of its folders in the left panel of explorer (treeview). Example is WSFTP.

Posted on 2003-03-06 04:18:23 by japheth
Posted on 2003-03-06 04:29:18 by bazik
Posted on 2003-03-06 04:31:53 by Hiroshimator
Thanks for replying guys, but its not what I wanted. I possibly wasnt clear enough: I want to change the icon dynamically from a namespace extension. For example: WSFTP does this when the status of a connection changes. So it has to be done by API calls, I assume, not by files residing in the folder or something similiar.

As far as WSFTP is concerned I found out by myself: this app sends SHChangeNotify messages with SHCNE_NETSHARE parameter and pidl of the item. But thats possibly a hack and there must exist other ways (documented?) because my explorer clone has difficulties with some icon updates.

heres the current version if you want an explorer of your own

Posted on 2003-03-06 11:37:12 by japheth
can you attach a screenshot of what you mean? :)
Posted on 2003-03-06 11:43:29 by bazik
Hi bazik,

this is the screenshot. WSFTP (it's installed as a namespace extension) has just connected to site "local japheth" and changed the icon of item "local japheth" (the color changed from black to cyan).

The problem is that a namspace extension is totally responsible for the right panel of explorer (the view window), but it hasn't enough infos to modify the left panel items (the treeview is under resposibility of explorer itself).
Posted on 2003-03-07 01:47:46 by japheth
Sorry, forgot the attachment
Posted on 2003-03-07 01:49:39 by japheth
http://www.mvps.org/vbnet/index.html?code/shell/shchangenotify.htm <--- maybe this shows what you need it's in VB though
Posted on 2003-03-07 04:17:10 by Hiroshimator

thanks and yes, that article is very interesting. And its (more or less) the one I've got the information about the undocumented SHChangeNotifyRegister/SHChangeNotifyUnregister function pair from :) . As I have mentioned earlier the "WSFTP problem" can be solved with catching event SHCNE_NETSHARE and requesting a new icon in that case. But it doesnt work in all cases. I dont get the icon indicating a resource is "shared" (this "blue hand" thing) with that technique for example.

Posted on 2003-03-07 07:41:51 by japheth