WinApi Функция ShellExecute
писание:
function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,
Directory: PChar; ShowCmd: Integer): HINST;
Функция может открыть или напечатать определенный файл. Исполняет как Windows-приложения так и открывает файлы-документы.
Например с файлами типа ".txt" связан Блокнот "Notepad.exe" и запуск файла "my.txt" приведет к тому, что будет запущен Блокнот и в него будет передан параметр с именем файла.
Также с помощью этой функци можно в проводнике открыть папку.
Параметры:
hWnd: Хендл родителя запускаемого приложения.
Operation: Строка определяющая команду для исполнения. Может содержать:
"open" - открыть файл определенный параметром FileName.
"print" - напечатать файл определенный параметром FileName.
"explore" - открыть папку определенную параметром FileName.
Если параметр Operation равен nil, то по умолчанию выполняется операция "open".
FileName: Определяет имя файла или папки для открытия или печати. Функция может запускать файл на исполнение или документ на печать.
Parameters: определяет параметры передаваемые при запуске исполняемого приложения. Бессмысленно его использовать при запуске документа. Параметр можеть быть равен Nil.
Directory: опеределяет каталог по умолчанию(рабочий каталог). Получить\установить можно с помощью функций GetCurrentDirectory, SetCurrentDirectory.
ShowCmd: определяет режим открытия файла. См. константы открытия\показа SW_.
Возвращаемые значения
Функция возвращает Хендл открытого приложения или сервера DDE. Возвращаемое значение должно быть больше 32. В противном случае это ошибка:
0 - Системе не хватает памяти, выполняемый файл испорчен или нехватает ресурсов.
ERROR_FILE_NOT_FOUND - файл не найден.
ERROR_PATH_NOT_FOUND - путь не найден.
ERROR_BAD_FORMAT - .EXE-Файл неверен (не-Win32.EXE или ошибка в .EXE).
SE_ERR_ACCESSDENIED - Операционная Система отвергла доступ к файлу.
SE_ERR_ASSOCINCOMPLETE - неправильная или неполная ассоциация с файлом.
SE_ERR_DDEBUSY - транзакция DDE не может завершаться поскольку были запущены другие транзакции.
SE_ERR_DDEFAIL - транзакция DDE потерпела неудачу.
SE_ERR_DDETIMEOUT - транзакция DDE не могла завершаться поскольку запрос несинхронизированный.
SE_ERR_DLLNOTFOUND - динамическая библиотека(.DLL) не обнаружена.
SE_ERR_FNF - файл не найден.
SE_ERR_NOASSOC - нет приложения ассоцированного с данным типом файла.
SE_ERR_OOM - недостаточно памяти для завершения операции.
SE_ERR_PNF - путь не найден.
SE_ERR_SHARE - разделение(shared) файла неверно.
Материал взят из:
Русская спpавка по Windows API