Running an EXE is easy. That's what exec() does best. Running DOS commands means you have to run CMD.EXE or COMMAND.EXE and pass the command as arguments. Again, "cmd /?" or "command /?" will reveal all the magic.
One bit of bad news is you have to know what's a built-in command and what is an EXE. If the user enters an arbitrary
string for you to execute it might be safest to always use cmd (or is it command?) to run everything.
Oh, and I don't think 16-bit programs will be any problem. I still run my old Turbo Pascal exe's that I'm pretty sure are 16-bit.
[ February 16, 2006: Message edited by: Stan James ]