Fast Explorer 2008, 
Fast Explorer Context Menu Extension DLL

version 3.1.11
Copyright  1999-2008 Alex Yakovlev
http://thesoftpro.tripod.com

Overview
--------

Fast Explorer is a context menu management utility. It allows you to manage 
context menus items of shell's file objects and virtual objects displayed 
in a file manager like Windows Explorer. Fast Explorer places at your disposal 
handy tools to customize 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.

Fast Explorer includes the shell extension library FEShlExt.dll which allows 
third party applications to add custom context menu items. Please refer to
Fast Explorer Context Menu Extension DLL topic for details.

License
-------

This software is FREEWARE and provided 'as-is', without any express or implied 
warranty. In no event will the authors be held liable for any damages arising 
from the use of this software.

Permission is granted to anyone to use this software for any purpose, including 
commercial applications, and to alter it and redistribute it freely, subject 
to the following restrictions:

1. The origin of this software must not be misrepresented; you must not claim 
that you wrote the original software.
2. If you use this software in a product, an acknowledgment in the product 
documentation is required.
3. This notice may not be removed or altered from any distribution.

Installation Notes for Fast Explorer
------------------------------------

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

FastExplorer.exe   Fast Explorer application executable
dbghelp.dll        Windows Image Helper 
FEShlExt.dll       Fast Explorer shell extension module
x64\FEShlExt.dll   Fast Explorer shell extension module for 64-bit platforms
file_id.diz        descriptive file (optionally)
Uninstall.exe      Nullsoft NSIS uninstaller

and folders:

languages          Fast Explorer localization files (optionally)
documentation      documentation files, including this file (readme.txt)

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

System Requirements
-------------------

- Windows 98/Me/2000/XP/2003/Vista or later;
- x86 (32 bit) and x64 (64 bit) processor architecture;
- Administrative rights on local machine to enable/disable dynamic menu items.

Fast Explorer Context Menu Extension DLL
----------------------------------------

Fast Explorer Context Menu Extension DLL is the shell extension library
that allows third party applications to add sophisticated context menu items. 
It is configured via plain Ini-file and does not require for developers
a deep knowledge in the areas of Windows shell extensions and Windows Registry.

Fast Explorer Context Menu Extension DLL (FEShlExt.dll) may be freely used and 
redistributed with third party products for both commercial and non-commercial 
purposes. The only requirement is to mention in theproduct documentation that 
the product has it included. 

The FEShlExt.dll shell extension module is a regular self-registering COM DLL. 

The FastExplorer.ini file describes Fast Explorer-driven context menu items 
and is located in the same folder where FEShlExt.dll is located. 
The internal 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 consists 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
-------------

The debug logging option is included with the FEShlExt.dll shell extension
module. This feature is disabled by default since it affects performance of
context menus. Please enable it to get the FEShlExt.log that is extremely useful
to detect and analyze problems with Fast Explorer. It's a recommended to turn 
the debug logging option on before sending an error report to the author.

To turn the debug logging option on, add the following lines into FastExplorer.ini:

[Debug Options]
DebugLogging=True

With this option enabled, the FEShlExt.dll extension module logs detailed 
execution and status info into the FEShlExt.log file. FEShlExt.log is created 
in the same folder where FEShlExt.dll is located. 

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

FAQ
---

Please refer to the online knowledge base:
http://thesoftpro.tripod.com/downloads/fe/kb.htm

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

Current Release (3.1.11.430):
- added support for perceived types (introduced in Windows XP ) including a set
  of predefined PerceivedTypes: Image, Text, Audio, Video, Compressed and System;
  http://msdn.microsoft.com/en-us/library/bb776871(VS.85).aspx
- copy and paste for static and dynamic menu items;
- relaxed user priveleges for using of Fast Explorer Context Menu Extension DLL: 
  administrative rights on local machine are required to enable or disable dynamic
  menu items only, and regular users can enjoy installed context menu items;
- updated installer to NSIS v2.39;
- fix: Windows Registration Server (resvr32.exe) crashes after enabling or 
  disabling dynamic menu items; 
- fix: accidental crash on pressing Win+E or right clicking on My Computer;
- fix: incorrect reporting of Windows Server 2008 in the About box;
- fix: dynamic menu items didn't appear if the access to the Internet is restricted 
  for Verclsid.exe; more info: http://support.microsoft.com/kb/918165
- fix: crash on click on the Parameters label on the Submenu Items tab;
- fix: crash on pressing F1 when a context menu is shown.

Version 3.0.10.395:
- fix: accidental crash in Registry Bugs dialog when pressing F1 for help;
- fix: crash on click on the Find button for invalid or non-existing application path;
- fix: crash on loading of the associated icons when no 16x16 equivalent is available;
- fix: crash on switching of the viewing kind in the file types list;
- fix: accidental crash when a referred file type is no more registered in the system.

Version 3.0.10.393:
- enhanced Vista-style user interface;
- 64-bit version of Fast Explorer Context Menu Extension DLL (thanks to Free Pascal Compiler);
- partial Windows x64 Edition support: menu items added from the Submenu Items tab appear on 
  context menus for both 32 & 64-bit apps (other tabs marked with [WOW64] are working with 
  32-bit applications only);
- new "Check for updates" feature;
- language selection option from the main window menu;
- core code optimizations (for better performance);
- new "send crash report via email" feature;
- fix: Windows Vista automatically prompts to elevate rights to run FE with administrative rights;
- fix: batch files (.bat) didn't start from context menu when their paths contain spaces;
- fix: surrounding quotes were incorrectly stripped from the arguments in some cases;
- fix: shell extensions with empty name were hidden in the Shell Extensions Cleanup tab;
- fix: shell extensions with relative file names were marked as not found in the Shell Extensions Cleanup tab;
- fix: environment strings (like %SystemRoot%) in executable file names are supported.

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!

Your 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 feedback 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 the web site:
http://thesoftpro.tripod.com/downloads/fe/

You can also find an updated information on the product there.