EldoS | Feel safer!

Software components for data protection, secure storage and transfer

Question about icons (folders and files)

Also by EldoS: MsgConnect
Cross-platform protocol-independent communication framework for building peer-to-peer and client-server applications and middleware components.
Posted: 10/09/2014 09:37:57
by Wayne  (Basic support level)
Joined: 10/02/2014
Posts: 7

I see there is a SetIcon which from my understand means you can overlay an icon over the default drive icon.

However how do you control the icons for files being enumerated in onEnumerateDirectory?

We need a couple of bits of functionality:
- Have a different icon for some virtual folders
- when a file is saved or copied in we need to add an overlay to that file to show that it is being uploaded to our system (like dropbox)

Is this possible with this library?
Posted: 10/09/2014 09:43:20
by Eugene Mayevski (Team)

It's not possible to control folder or file icons with CBFS.

Maybe (just a guess) it's possible to alter the icons via some shell extension, but I wouldn't bet on this. If Dropbox does this, then they should be doing this via the shell extension.

We don't have products for shell extension development.

Sincerely yours
Eugene Mayevski
Posted: 10/09/2014 10:18:17
by Wayne  (Basic support level)
Joined: 10/02/2014
Posts: 7

Thanks Eugene,

as we are looking to do a similar functionality as dropbox but for a private system are there actually any advantages to using CBFS compared to actually just having a folder on the system which we sync to (and add to save, and considering we are going to have to implement icons overlays (IShellIconOverlayIdentifier it seems) ourselves ?

I understand that CBFS is usefull if you need to map non file data (perhaps from a database/backend) but as we will need to download/sync all the files to a local folder anyhow (for offline usage) and then map that through to CBFS I now wondering what CBFS is bring us in terms of functionality.

I feel I am missing something.

Posted: 10/09/2014 11:36:45
by Eugene Mayevski (Team)

The question is how you track the changes. CBFS is one of the options to track user's access and act accordingly (upload the changes to the server or download the missing or incomplete file etc.). The alternative approach is a filesystem filter driver that monitors a directory for changes. So you don't have to use CBFS but use the technology that fits your design better. It's solely a design decision.

As for "we have files anyway" - this is not the only approach. You might want to keep files encrypted locally or you might want to cache only the files being used. Or you might want to ensure coherence of file copies, which requires that you propagate the changes to the server as soon as those changes are made.

Sincerely yours
Eugene Mayevski
Posted: 10/09/2014 11:40:47
by Wayne  (Basic support level)
Joined: 10/02/2014
Posts: 7

Thanks Eugene,

I think you make some valid points about caching and encryption. Food for thought!
Posted: 11/07/2014 01:12:40
by David Mott (Basic support level)
Joined: 11/07/2014
Posts: 1

Wayne wrote:

However how do you control the icons for files being enumerated in onEnumerateDirectory?

http://www.ssware.com/ has a few products that probably do what you want.
Posted: 11/07/2014 01:33:17
by Eugene Mayevski (Team)

The problem with those EZ*Extensions is that they are mainly for .NET and there's a general recommendation to not create shell extensions in .NET.

The problem is a .NET Framework version conflict which can happen: imagine one module is compiled for .NET 2.0 and another one - for .NET 4.5.1. Now the first module (older) is loaded first. .NET Framework 2.0 is loaded to Explorer process and the second module can't be loaded anymore.

Sincerely yours
Eugene Mayevski
Also by EldoS: RawDisk
Access locked and protected files in Windows, read and write disks and partitions and more.



Topic viewed 2705 times

Number of guests: 1, registered members: 0, in total hidden: 0


Back to top

As of July 15, 2016 EldoS business operates as a division of /n software, inc. For more information, please read the announcement.

Got it!