Is there a similar alternative of ShellExecute which waits for its completion?

We need to print a bunch of files. This can be Word documents, PDF files and even other files. This works best with ShellExcute "PRINT". Windows will take care of it all.
However, when ShellExecute is called, it immediately continues with the next file while Windows is still printing. I need our program to wait before it prints the next document.

Any suggestions?