What is WinShellEx?
WinShellEx (also known as the Windows Shell Extender) makes windows shells easier by handling system start up and providing a replica of Explorer's system notification tray and DDE server. It also allows on-the-fly shell switching and crash recovery. More information is available at WinShellEx's SourceForge Site
.
WinShellEx was originally designed for use with GeoShell, but was put together with other shell development projects in mind. Basically, the idea is that there is a lot of code that different alternative windows shells have in common - mainly code related to loading programs and tracking system tray icons - and that it could be a great time saver to any shell project that choose to use WinShellEx to be able to use the same codebase to accomplish all these standard tasks.
The idea behind WinShellEx is very similar to the failed Raptor project you may or may not remember. (If you don't know what Raptor is/was, then don't worry - it isn't important because it never really got off the ground.)
WinShellEx Registry Settings
WinShellEx stores its settings under the HKEY_CURRENT_USER\Software\WinShellEx registry key. There is only one STRING located in the root of this key: the Default string.
The Default string is used to tell WinShellEx which configured shell to load. Since you are reading these docs, you are probably using WinShellEx as a part of GeoShell. The value of this string should be the same as the name of the Sub-Key that you want WinShellEx to load. This allows multiple shells to be configured (or multiple installs of the same shell in some instances) in the registry at one time and gives you an easy way to switch between them.
To understand how each shell is configured, lets look at the GeoShell sub-key. In this key you will once again find only one string: the Start string. (Didn't I tell you this was simple!) The Start string is very simple to configure; the value you set should be the command line that you would use to load the shell you are configuring. If the full path of the shell is required when setting it as your default shell, then it is also required here. For Geoshell's Start string, the default value is C:\SHELLS\GEOSHELL\GeoShell.exe. This path would obviously need to be different if you choose a different path when installing GeoShell, but don't worry, the installer tells WinShellEx where you installed GeoShell so there should be no reason for you worry about this setting.
If you need to include any command line options for the shell you are configuring, you should include them in the Start string. For example, to GeoShell without the tasks service and the tray service, you would want to change C:\SHELLS\GEOSHELL\GeoShell.exe to C:\SHELLS\GEOSHELL\GeoShell.exe -notray -notasks. For more information on using GeoShell's command line switches, check out this page.
WinShellEx Directory
The WinShellEx directory is extremely easy to understand - there are only four files! And while none of these files should require any user interaction, it still might be of some interest to know what they are...
| WinShellEx.exe |
This IS WinShellEx. This executable does all the work. |
| WinShellEx.reg |
This registry file adds the basic settings for WinShellEx into the registry - these should already be there, but you have this reg file just in case. Be aware however, that currently this reg file is not formatted to work in Windows 95, Windows 98, or Windows ME. |
| notes.txt |
This file contains release notes associated with the currently installed version of WinShellEx. This file might be a good place to look if you are having problems with WinShellEx as recent changes and such should be indicated here. |
| gpl.txt |
This is the standard GPL license stuff (which WinShellEx has been released under). If you are familiar with GPL already, then there is nothing new of interest in this file - if you aren't, you may want to learn more about the GNU General Public License (or GPL for short) (we also have a local copy located here). |