August 24, 2008
Sunday

Last updated
Software Professional August 28, 1998
Friday

Site founded
  for people and PCs

Contents Fast Explorer
Search the site:

Installation

Basic Techniques

Advanced Techniques

Portability Issues

Using Fast Explorer Context Menu Extension DLL in Windows applications

Troubleshooting and Support



Installation

What are the system requirements for this tool?

Fast Explorer runs on the Windows 98/Me/2000/XP/2003/Vista or later (32 and 64 bit) and requires administrative privileges on local machine to edit context menu items.

Can Fast Explorer 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 :

Reason Tasks
modify the HKEY_CLASSES_ROOT Registry hive manage static context menu items and context menu extensions (or: context menu handlers);
modify the HKEY_LOCAL_MACHINE Registry hive register and unregister Fast Explorer Context Menu Extension DLL - FEShlExt.dll.

Are my context menu settings kept after uninstall?

Yes. FastExplorer.ini configuration file is not deleted on uninstallation.



Basic Techniques

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.

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.

What is a context menu handler?

Briefly, a context menu handler is a kind of executable Windows shell extension that adds commands to an existing context menu. Fast Explorer itself is based on FEShlExt.dll (called Fast Explorer Context Menu Extension DLL) which is a regular context menu handler as well.



Advanced Techniques

How to specify a DDE Execute parameters for context menu items?

Using CMCDDE.exe tool 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

Is there a possibility to reorder existing context menu items just as it is already there in the Static Items tab?

Reorder context menu items in WindowsWell, it's not safe. Unfortunately, Windows places static context menu items in the order of their Registry entries. So, the only way to reorder the items is to rename Registry entries.

Windows or applications (like Winamp on the sample screenshot) usually depend on the names of Registry entries.

However, you can try to manually rename Registry entries at your own risk if you are sure that it will be OK.

 

What the "Registry Bugs!" feature does exactly?

It helps you to clean the Registry from hanging or orphaned entries related to context menu items. Fast Explorer collects these error entries by the way while scanning of the Registry to build the list of known file types at startup.

Is it safe to use Fast Explorer's Clear Registry Bugs feature?

Well, you're using this feature at your own risk. It's 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 slightly affect performance when using shell-driven context menus.



Portability Issues

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 Fast Explorer 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 simply registered and unregistered from the command line:

regsvr32 FEShlExt.dll
regsvr32 FEShlExt.dll /u

To gain full portability Fast Explorer 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. Refer to the definition of freeware for details.



Using Fast Explorer Context Menu Extension DLL in Windows applications

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.

Registration of COM DLLs is normally done by installer (if you are using InstallShield or any other installation development environment, it can be normally done via one mouse click).

How to configure context menu items via Fast Explorer Context Menu Extension DLL?

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

Where I can find more examples of using Fast Explorer and/or Fast Explorer Context Menu Extension DLL?

Here are some real-life use cases of both Fast Explorer and Fast Explorer Context Menu Extension DLL:



Troubleshooting and Support

This tool does not work/cannot do something/etc. How I can get support?

Feel free to contact the author if you have any questions or suggestions on the product, translation initiatives or something else about it. Email support: alex__yakovlev@hotmail.com.

What kind of info it would be helpful include with my support request?

If you are reporting an issue, please provide as much details as possible before contacting for support:

  • enable the debug logging feature for the Fast Explorer shell extension module;
  • reproduce the problem;
  • click Copy System Information in the About box, and finally
  • include obtained system information report with your mail.

How to enable the debug logging feature for the Fast Explorer shell extension module?

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.

This feature is disabled by default because it affects performance when working with context menus. It is recommended to enable it before sending a support request to the author.

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.

This program does not run on Vista! Is it not supported?

Fast Explorer fully supports Vista. However, since Fast Explorer requires administrative priveleges to access the Registry, you should run it as Administrator.

There is no Fast Explorer in my native language. Where I can get it?

You can participate in localization of Fast Explorer to your language. Just translate the language file and send it to the author, so new translation will appear in the next update for all the users.

At the startup Fast Explorer gets the current system locale (for example, 1036 for French/France) and searches in the same folder for the language file in format

FastExplorer.<LocaleNumber>.lng.

If it exists, all resource strings are loaded from it. That's it.


Copyright © 1998-2004 Alex Yakovlev & Serge Kolesnikov
Copyright © 2004-2007 Alex Yakovlev
All rights reserved. Mentioned trademarks are trademarks of their respective owners.