Whatever it uses, it worked me out of a scrape today and I'm grateful....great work, Ed!
>Of course it did! But a hint - it uses CreateProcess() rather than ShellExecute() to run things. There are minor differences; ShellExecute() can launch a document as well as an executable, but CreateProcess() gives you tighter control of the process, and returns some information that allows you to monitor the progress of a launched executable (you can get the same information back using ShellExecuteEx(), but you'd need something like POINTERS or My CLSHEAP library to manage the structure needed by ShellExecuteEx().)
------------------------------------------------
John Koziol, ex-MVP, ex-MS, ex-FoxTeam. Just call me "X"
"When the going gets weird, the weird turn pro" - Hunter Thompson (Gonzo) RIP 2/19/05