Fast Explorer 2007
version 2.2.9
Copyright  1999-2007 Alex Yakovlev

Overview
--------

This handy utility allows you to manage context menus items of shell's file
objects and virtual objects displayed in a file manager, such as Explorer.
Fast Explorer supports both static and dynamic menu items and even more!
It's a very simple way to make your often used file actions quickly accessible.

With Fast Explorer you can add new menu items, submenus, dividers, 
specify menu bitmaps and hint text, and also clean up unused menu items
added by other programs. Moreover you can define your own look & feel 
for the dynamic menu items added from within Fast Explorer.

Menu items can be associated with any shell object class (ex: file type)
registered in the system, including a set of predefined file types.
For detailed description on file classes supported visit Fast Explorer web site
or refer to the MSDN library.

License
-------

Freeware. Distributed "as is".

Installation Notes
------------------

When installed, the default destination folder (YourProgramFiles\Fast Explorer)
contains the following files:

FastExplorer.exe   Fast Explorer application executable (optionally)
FastExplorer.1036.lng   French localization file (optionally)
FastExplorer.1049.lng   Russian localization file (optionally)
file_id.diz        descriptive file (optionally)
FEShlExt.dll       Fast Explorer shell extension module
readme.txt         this file
Uninstall.exe      Nullsoft NSIS uninstaller

All Fast Explorer settings are stored into FastExplorer.ini file created in your
Fast Explorer folder. When uninstalled, this file is not removed. 

Requirements
------------

- Windows 98/Me/2000/XP/2003 or later.

Redistribution of Fast Explorer Context Menu Extension (DLL)
------------------------------------------------------------

The FEShlExt.dll shell extension module (DLL) may be freely used and 
redistributed with any third party applications for both commercial and 
non-commercial purposes. The only requirement is to mention in theproduct 
documentation that the product has it included. 

FEShlExt.dll is a regular self-registering COM DLL. 

The FastExplorer.ini file describes Fast Explorer-driven context menu items 
and is located in the Fast Explorer application folder. The structure of 
FastExplorer.ini is quite simple:
- [Fast Explorer] section describes visual settings of Fast Explorer
  application (optional);
- [Dynamic Items] holds descriptions of menu items in consecutive order and
  the Count value that specifies the total number of menu items;
- [Custom-drawn Menu Properties] section may contain additional set of 
  properties designed for fine tuning of context menu items.

Each menu item description consist of several values followed by its order 
number N (starting from 1; 0 means the virtual root menu item):

ParentN=<number>
ApplicationN=<filename>
ParametersN=<text>
CaptionN=<text>
HintN=<text>
IconFileN=<filename>
IconIndexN=<number>
CheckedN=<0|1>
FileTypeN=<filetype>

- "Parent" specifies a parent menu item (submenu) that this item belongs to;
- "Application" holds a full path to an application associated with 
  the context menu item;
- "Parameters" specifies application parameters, for example: %1;
- "Caption" is a display name of this context menu item;
- "Hint" holds a descriptive text displayed in status bar of Windows Explorer;
- "IconFile" points to an executable (binary) or an image file that holds 
   the menu item icon (for example, .EXE, .DLL, .ICO or .PNG files);
- "IconIndex" is 0 for an image file or specifies an icon index for a binary file;
- "Checked" can be set to 0 to hide this menu item and its child items (if any);
- "FileType" specifies a Registry key name that identifies the file type this
  menu item is displayed for.

[Custom-drawn Menu Properties] section intended to tune up the look & feel of 
context menu items:
Enabled=<False|True>
FirstLevelDefault=<False|True>
BackgroundFix=<False|True>
TextIndent=<number, pixel>
TextFontFace=<fontname>
TextFontSize=<number>
NormalTextColor=<colorId>
SelectedTextColor=<colorId>
NormalBackColor=<colorId>
SelectedBackColor=<colorId>
NormalIconBackColor=<colorId>
SelectedIconBackColor=<colorId>

- "Enabled" can be set to False if FEShlExt.dll should ignore these settings;
- if "FirstLevelDefault" is True, the look & feel settings won't be applied to
  menu items displayed in the top level context menu; 
- "BackgroundFix" specifies that a workaround fix should be applied for 
  displaying context menu items for the "File folder background" file type;
  it's recommended to set it to True;
- "TextIndent" specifies in pixels an indent of caption text from the left;
- "TextFontFace" specifies a menu item font; if its value is empty, 
  the default font is used;
- "TextFontSize" specifies a menu item font size; if it's empty, you know what;
- Color-properties are used to customize colors of particular menu item parts;
  the colorId value has $BBGGRR format, while $20000000 means default color.


Debug Logging
-------------

Extended debug logging option is included with the FEShlExt.dll shell extension
module. This feature is disabled by default because it affects performance when
working with context menus. Please enable it to detect and analyze problems with
Fast Explorer. It's a recommended step before sending a report to the author.
Add the following lines into FastExplorer.ini:

[Debug Options]
DebugLogging=True

With this option enabled, the FEShlExt.log log file is created in Fast
Explorer's folder while the FEShlExt.dll extension module runs. The log file
contains detailed status info on every step of FEShlExt.dll execution. 

Please note : before opening FEShlExt.log log file make sure the extension
module is not running. Close all applications that uses Fast Explorer-driven
context menus. Otherwise the log file may remain locked or incomplete.

FAQ
---

- How to associate menu item with appropriate file extension rather
with a file type?
All you should do is just create a new file type for your extension.
You can perform this task using the dialog found at: 
Control Panel/Folder Options/File Types.

- How to specify a DDE Execute parameters for context menu items?
Using CMCDDE.exe tool (http://softwaregadgets.gridspace.net/2007/05/05/command-line-dde/)
it's possible to pass DDE Execute parameters via command line. For example, the following
menu entry 
  Application: CMCDDE.EXE
  Parameters: xmplay system [list("%1")]
forces XMPlay to add a group of selected mp3 files to a currently playing track-list 
("Add to XMPlay-list" command). 
Note that this command is implemented in XMPlay v3.4.2.1 via the following DDE-related 
Registry entries:
HKEY_CLASSES_ROOT\Applications\xmplay.exe\shell\list &Add to XMPlay-list
HKEY_CLASSES_ROOT\Applications\xmplay.exe\command "C:\PortableApps\XMPlay\xmplay.exe"
HKEY_CLASSES_ROOT\Applications\xmplay.exe\ddeexec [list(%1)]
HKEY_CLASSES_ROOT\Applications\xmplay.exe\ddeexec\application    XMPlay

- Why there is no help for the application?
It's here : press F1 in any place of the Fast Explorer to get quick hint. 
You may also refer to the Fast Explorer web site for additional information:
http://thesoftpro.tripod.com/fe

- Is it safe to use Fast Explorer's Clear Registry Bugs feature?
Well, you're using this feature at your own risk. It is nothing more than
the cleaning of unused or "hanging" registry entries related to context 
menu functionality. These entries do not harm your system, but may
slighlty affect performance when using shell-driven context menus.

- How to install Fast Explorer Context Menu Extension (DLL) with my application?
First of all, include these files with your installation:
1. FastExplorer.ini
2. FEShlExt.dll
Then, register FEShlExt.dll (which is a regular COM DLL). 
At the uninstall, FEShlExt.dll should be unregistered accordingly.

- Can FE be used on PCs which do not grant administrative privileges to 
the user?
Normally, no. User of Fast Explorer is required to have the administrative 
privileges on the PC in order to :
* modify the HKEY_CLASSES_ROOT Registry hive (tasks : manage static and 
dynamic context menu items and perform static/dynamic items cleanup);
* modify the HKEY_LOCAL_MACHINE Registry hive (task: register and unregister 
Fast Explorer shell extension DLL - FEShlExt.dll).

- Many users of portable applications consider it 'good practice' to
leave the registry of the host PC in the same condition they found it in. 
Can FE be started in a manner which automatically ticks or un-ticks
the option "Enable Dynamic Items"? (A command line parameter perhaps)
Yes, it's possible. FEShlExt.dll shell extension is a regular COM DLL 
that can be registered or unregistered in a standard manner:
  regsvr32 FEShlExt.dll
  regsvr32 FEShlExt.dll /u

- To gain full portability FE might benefit from being launched by
an application launcher or 'wrapper'.  This would handle the
registry entries created and remove them on exit, leaving no trace
on the PC.  This method is very widely used by sites such as John
Haller's PortableApps.com. (http://portableapps.com).  Does your
license allow for this?
Yes, Fast Explorer as a true freeware is allowed to be launched by any 
third-party application launcher or wrapper.

Version history
---------------

Current Release (version 2.2.9.312):
- added support for Portable Network Graphics images in menu icons (thanks to TPNGImage library);
- added generation of crash dump file (.dmp) on critical error before the application terminates;
- fixed incorrect displaying of icons with alpha channel;
- fix: "Not enough memory to load associated icons" fatal error while loading file types' icons 
  from a damaged, invalid or missing file;
- fix: context menu items didn't appear for shortcuts;
- fix: empty parameter list was produced for commands associated with "All network server" file type;

Version 2.2.9.303:

- included French and Russian localization files;
- localization support: Fast Explorer can be localized to any language using Ini-like text files
  (thanks to Kryvich's Delphi Localizer);
- additional installation package is provided: ZIP archive for portable solutions;
- Static Items Cleanup tab: predefined menu items (canonical verbs) can be removed now: 
  open, openas, openwith, opennew, explore, find, print, printto, properties, edit, play, runas;
- Static Items Cleanup & Shell Extensions Cleanup tabs: items can be disabled and restored later;
- fixed bug: sometimes it's unable to remove a shell extension from the Shell Extensions Cleanup tab;

Version 2.1.8.280):

- settings are stored in the FastExplorer.ini file located in the Fast Explorer folder;

Version 2.1.7.278:

- added Shell Extensions Cleanup tab;
- automatic install & uninstall (provided by Nullsoft NSIS);
- fixed incorrect passing of single filename with spaces to target application;

Version 2.0.6.255:

- dramatically improved speed of loading the Fast Explorer shell extension;
- removed resource leaks in the Fast Explorer shell extension;
- fixed accidental crash on start when a referred file type is no more registered in the system;

Version 2.0.5.237:

- multiple bug fixes;
- internal optimization for execution speed;
- resizeable UI;
- no more compatible with Windows 95.

Version 2.0.4.120:

- shell extension module: fixed argument list processing for commands associated with the "File folder background" type;
- interface: added Windows XP themes support;
- interface: minor fixes and improvements.

Version 2.0.4:

- added support for new predefined shell objects;
- added menu schemes management;
- added custom-drawing support for dynamic menu items;
- added error logging by loading menu items at startup;
- enhanced "About" dialog functionality, added system info report;
- added Remove Icon, Select Recent commands;
- improved registry bugs detecting, added missing icon files reporting;
- interface: improved menu items updating;
- interface: fixed file type name and extensions list disappearing bug;
- interface: improved "Select Menu Item Icon" dialog;
- other minor user interface improvements.

Version 2.0.3:

- added status screen at startup;
- changed functionality of app. exit confirmation dialog;
- many bugfixes;
- other minor user interface improvements.

Version 2.0.2:

- totally rewritten program kernel;
- totally rewritten program interface;
- menu items drag&drop;

Version 1.1:

- and so it begins...

The initial idea taken abroad by Oleg Ponomarev was implemented 1999 as Fast Explorer 1.0. 
Many thanx to him and his mega idea!

Requesting support and feedback
-------------------------------

Feel free to contact me if you have any questions or suggestions on using
the software or even if something else about it. Please report found bugs if any,
because your support makes a better product for you.

E-mail support: alex__yakovlev@hotmail.com

Also, please read the Debug logging section before contacting the support.

The newest version of the Fast Explorer is available to download on our web site. 
You can also find an updated information on the product there.

Fast Explorer home page: http://thesoftpro.tripod.com/downloads/fe/

Contact Information
-------------------

Alex Yakovlev
e-mail: alex__yakovlev@hotmail.com
web site: http://thesoftpro.tripod.com