|
|
TAR Folder shell extension
This virtual folder works in Windows Vista or better. TAR archives are often used on UNIX-based systems, and originally stands for Tape Archive. TAR files are usually used for file backup purposes and are uncompressed, so they are used in conjunction with compression software, such as GZIP or BZIP.
This Shell Extension expands the .tar file-extension and allows
you to browse into the archive as if it was an actual disk folder. You can copy and
paste files and folders in and out of the archive inside Windows Explorer.
This virtual folder does not support compressed tar files. Files with the extension .tgz and .tbz do not expand. The Source CodeThis is the 2nd sample that demonstrates a set of generic Shell Namespace Extension C++ classes I wrote. The first sample, the Registry Extension, exposed a common virtual folder in the My Computer folder. This TAR Folder sample, however, implements a rooted, multi-level namespace extension that extends a file-extension.
Most of the functionality is handled by my generic C++ classes, so to
create the virtual file-system namespace extension, only a thin wrapper around the
For this TAR folder sample, reading the entire directory structure is a fairly speedy process so the sample uses a caching mechanism already available in the C++ framework by putting the list in the CNseFileSystem derived class.
This class is carried around along with the IShellFolder instance and
its offspring as the Windows Explorer already tries to reuse a single
instance for optimized throughput.
But when implementing a virtual file-system on a slower media, you'll need to cleverly
cache lists to give the expected user experience in Windows Explorer.
This sample runs on Windows Vista or better. It uses APIs specific to the latest version of Windows since this version offers several improvements for developing shell extensions. If you wish to explore the possibilities for supporting older versions of Windows, check out my ADF View sample. Source Code DependenciesWindows VistaMicrosoft Visual Studio.NET 2008 Microsoft ATL Library See AlsoA Shell Extension in the My Computer folderA Shell Extension to browse Flickr photos Download Files
|
![]() | Installation file (307 Kb) Source Code (336 Kb) |