Разница между ShellExecute и CreateProcess в Delphi заключается в их функциях и целях использования. 12
ShellExecute запускает оболочку, ассоциированную с расширением файла, передаваемого ей в качестве параметра. 2 Например, если передать файл с расширением doc, то запустится редактор MS Word (если он установлен в системе). 2 ShellExecute может открывать неисполняемые файлы: ищет информацию в реестре о соответствующей программе для данного файла и выполняет её. 1
CreateProcess создаёт новый процесс и его первичный поток. 2 Эта функция используется в Win32 для запуска других приложений. 2 CreateProcess позволяет лучше контролировать входные и выходные данные процесса. 1 Например, с её помощью можно вызывать программы командной строки, которые выводят текст, захватывать этот вывод и реагировать в соответствии с ним. 1
Таким образом, ShellExecute подходит для запуска независимого приложения, а CreateProcess — для управления запущенным приложением. 3