Duane Clark wrote:
Dan Kegel wrote:
... I also noticed that ShellExecute will sometimes try to run the executable "C:\Program" (the first word of "C:\Program Files\whatever..."). I fixed that for the case I touched, I think, but didn't do a general fix.
MSDN for CreateProcess claims that if the supplied string is not quoted, then that is the correct behavior.
That is the correct behavior for CreateProcess, yes. But it is an error for ShellExecute to execute C:\Program when it intended to execute C:\Program Files\Accessories\wordpad.exe
See the "Security Remarks" at the bottom of http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/bas... which advise callers of CreateProcess to avoid this pitfall. - Dan