Add option to cygstart to use CreateProcess as opposed to ShellExecuteEx

Chris Sutcliffe
Wed Sep 9 11:34:00 GMT 2009

> This is the right list, as far as I'm concerned.  However, the reason
> ShellExecuteEx is used, is because you can do this:
> $ cygstart foo.pdf
> and Acrobat Reader (or whatever app is associated with .pdf) will be
> launched.  You can't do that with CreateProcess.

Agreed, sygstart serves a definite purpose, it's just not the fastest
launching straight executables, however...

>> I've created a fairly basic utility (cygexec, source attached) that
>> uses CreateProcess to launch windows executables.
> does this differ from run.exe and run2.exe?  They both use
> CreateProcess...

I haven't until this point played with run.exe or run2.exe.  They
serve my purposes very nicely, so my little app isn't required.

>> Doing some
>> preliminary tests, it executes windows executables in about half a
>> second (according to 'time') as opposed to 3.5 seconds with cygstart
>> (as a result of the ShellExecuteEx call).
> Well, that seems really strange.  Do you get the same slow behavior on
> multiple machines/OS's, or just on a single machine?

Several machines, I assume due to the fact of how ShellExecuteEx
operates (resolving file types to executables, etc.).



Chris Sutcliffe

More information about the Cygwin-apps mailing list