The desktop.ini file.

The desktop.ini file located in a directory can change the folders icon, the IShellFolder object that handles UI operations for the directory, and sets some folder options. An example desktop.ini file:

[.ShellClassInfo]
CLSID={F3364BA0-65B9-11CE-A9BA-00AA004AE837}
UICLSID={hmmmm} 
IconFile=c:\windows\system\shell32.dll
IconIndex=44
ConfirmFileOp=0

Also, folders with a Web view setup will have the following section:

[ExtShellFolderViews]
{5984FFE0-28D4-11CF-AE66-08002B2E1262}=%windir%\web\favorite.htm

Folders that are handled by the channel extension will contain a section:

[channel]
icon= ????

The IE4 shell easter egg.

The explorer/shell easter egg.

Some more Bugs and Tricks:

A) Close explorer/shell: (undoc feature)

  1. Select Shutdown however ([start]/shutdown)
  2. Click "No" holding down CTRL-ALT-SHIFT
  3. Explorer will shutdown.

B) Move/remove the Start button (95 only) (bug)

  1. Click on start.
  2. Press ESC
  3. Press Alt-
  4. Use the MDI window menu to control the window. (why MDI!?)

Explorer Commandline Parameters:

Explorer [/n][/e][[,/root],<object>][[,/select],<sub object>]
 or
Explorer [/n][/e][[,/root],/idlist,<gpidl>,<object>]
/e
Use Explorer view (scope and results pane view). The default is Open view (results in pane view only).
/n
Forces a new explorer window to be opened.
/root<object>
Specify the object in the "normal" name space that is used as the root (top level) of this Explorer/Folder (i.e., local path or UNC name). The default is the Desktop. [more below]
/Select
The parent folder opens and the specified object is selected. <sub object> Specify the folder unless /select is used. The default is the root.

Examples:

Explorer /e, /root, \\Reports opens an Explorer window at \\Reports.
Explorer /select, C:\Windows\Calc.exe opens a folder at C:\Windows (or activates one
    that is currently open) and selects Calc.exe.
Explorer /e, /root, \\Source\Internal\Design\Users\David\Archive opens a folder
    to the Archive folder above. This is a good way to create a dedicated, remote,
    documents archive folder. A link to this folder (\\Source\Internal\Design\ 
    Users\David\Archive) can then be placed in the SendTo folder for quick routing
    of documents.
Explorer /e,/idlist,:-2109146316, opens to whatever folder is indicated by the
    ILGlobalClone() assigned idlist located at 0x8248FB34

<object> can be a normal UNC style file or device name, or can specify a "path" of class id's. Like so: ::{clsid}[\::{clsid}]

Some clsid's for common objects:

Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D} 
Printers.{2227A280-3AEA-1069-A2DE-08002B30309D} Dial-Up 
Networking.{992CFFA0-F557-101A-88EC-00DD010CCC48} 
Recycled.{645FF040-5081-101B-9F08-00AA002F954E} 
Directory.{F3364BA0-65B9-11CE-A9BA-00AA004AE837} My 
Computer.{20D04FE0-3AEA-1069-A2D8-08002B30309D} Network 
Neighborhood.{208D2C60-3AEA-1069-A2D7-08002B30309D}

syntax:

explorer.exe /e,/root,::{CLSID of item}

For items under My Computer:

explorer.exe /e,/root,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{CLSID of item}

Diffrent valid forms of specifying an object:

explorer.exe C:\ specifies an item on the physical filesystem (including
    mapped net & cdrom drives)
explorer.exe \\netpc\ specifies a network resource by UNC
explorer.exe ::{clsid}[\::{clsid}] specifies an namespce item rooted off
    the desktop by unique clsid.
explorer.exe /root,{clsid},D:\Path Name The IShellFolder identified by clsid will be 
    launched, and bound to the given path name.
explorer.exe /idlist,:lpidl,D:\Path Name specifies a namespace item rooted off the
    desktop by global mem lpidl specified as a signed int The last form (/idlist)
    is used internally by explorer to open subfolders. "lpidl" looks like this:
    ":-2109146316" (which becomes 0x8248FB34). "D:\Path Name" is only passed in if
    the object is a file system object. Otherwise its left blank.

* NOTE: You can initialize an arbitarry IShellFolder by CLSID as rooted without
giving the full path to the object by giving explorer the real path to any other
item. explorer uses this syntax to launch mail & news. eg:

"explorer.exe /root,::{clsid},C:\windows\Internet Mail.{clsid}"

Registry Command Line Thingys:

The following things can be placed in the registry in "command" keys for ShellExecute to expand:

%% - escape sequence for '%'
%0 - the thing being clicked (or dropped upon)
%1 - represents the name of the item being clicked (or dropped upon).
%2 - 1st file "dropped" onto item. (in case of files being dropped).
%3 - 2nd file "dropped" onto item. etc...
%* - all the dropped items.
%L - same as %1 (unconditional lfn form?)
%I - generates a global itemid of the form ":-2109146316" (folders only?)
? - Will prompt the user for the commandline to supply

I don't know what these do, but they do something:

%L = document name
%0 = short version of document name (sometimes) %1 = same as %0 %2 = parameter 1 %9 = parameter 8 %~2 = parameter 1 onwards %~9 = parameter 8 onwards %* = all parameters (i.e. same as %~2) %H = hotkey in hex. can only be used once %I = pidl (different format depending on OS) %S = initial Show format in decimal


Comments, Suggestions and errata can be addressed to chris@dbn.lia.net
Return Home