Windows Explorer Context Menu

Alex K. Angelopoulos aka at mvps.org
Fri Dec 27 20:52:45 EST 2002


"Neil Hodgson" <nhodgson at bigpond.net.au> wrote in message
news:cpLO9.17047$YN6.45470 at news-server.bigpond.net.au...
> Alex K. Angelopoulos:
>
> > I don't know how or why, but it appears that
> > when seen as a drop target OE is not affected
> > by the limit.  My hunch is that this means some
> > kind of a shell handler may work after all;
> > apparently it can intercept an operation before the
> > shell tries to make it into a command line.
>
>    Dragging onto an open application goes through the WM_DROPFILES message
> and the DragQueryFile function, not through the command line. Try dragging a
> large number of files onto a closed OE and it should fail.
>
>    Neil

Ah.

And it turns out that (haven't had a chance to verify) a context menu handler
may indeed provide a workaround; it appears that a context menu handler will
process the files one at a time.  The following notes are from a post by Joe
Earnest in a microsoft.public.scripting.vbscript thread today; below is a Google
link, but as of now Joe's post hasn't been archived at Google.


http://groups.google.com/groups?threadm=eVS5ByfrCHA.1632@TK2MSFTNGP12

> _Generally_ the shell\command context menu handler
> sends a multiple file argument list to the command one
> file at a time, running the command multiple times, as
> opposed to the SendTo handler, which concatenates the
> file list and runs the target in the shortcut once, with the
> entire argument list.

>  This enables the shell\command app
> to keep its additional arguments (which SendTo can't) and
> to handle a virtually unlimited number of files (which
> SendTo can't).  In general, the shell command %
> parameters are (or have been):
>
> Command Parameters
>  %L       1st parameter as lfn
>  %1       1st parameter as either lfn or sfn depending on type
>                 of program
>  %I        idlist (internal windows structure used only by explorer)
>                 another way of identifying a file, but valid only while
>                 a particular folder window is open
>  %0        actual program name (not found in registry)
>  %2-9     second to ninth parameters on the command line
>                   can include any preferred number of parameters
>  %*        all remaining parameters on the command line
>
> compound examples
>     %1 %*         first parameter, then all remaining parameters
>                            on the command line
>     %1 %2 %*   first parameter, second parameter, then all
>                             remaining parameters
>     %-5              remaining parameters from the fifth parameter
>                             on
>
> DDE Parameters
>  %S                  show command (maximize, minimize, etc.)
>  %H                  hotkey
>
> If WinXP is handling parameters differently, it's possible that
> Win2k was sending an sfn which survived the single quote,
> whereas an lfn doesn't?
>





More information about the Python-list mailing list