ShellExecuteEx и ShellExecute в Windows API отличаются тем, что ShellExecuteEx принимает указатель на структуру и возвращает дескриптор запущенной программы, в то время как ShellExecute сразу вызывает closehandle после создания процесса, чтобы закрыть дескриптор нового процесса. 15
Некоторые особенности функций:
- ShellExecute поддерживает обработку типов файлов, зарегистрированных в Windows. 1 Например, если с помощью ShellExecute запустить файл с расширением .BMP, то будет запущена программа Paint или любая другая, которая используется для просмотра графических файлов. 1
- ShellExecuteEx предназначен не только для запуска программ, но и для открытия и печати различных документов, то есть для запуска приложений, сопоставленных определённым типам файлов. 2
- Чтобы использовать ShellExecute, нужно указать объект файла или папки, на который будет выполнено действие, и глагол, который определяет операцию. 34 Для ShellExecuteEx необходимо заполнить соответствующие элементы структуры SHELLEXECUTEINFO. 34