|
|
Выполняет стандартные операции с документами зарегистрированных типов при помощи стандартных приложений.
Синтаксис
function ShellExecute(
| hWnd, | Operate, | FileName, | Parameters, | Directory, | CmdShow
| ): Number;
|
Параметры
|
Параметр
| Тип
| Описание
|
hWnd
| Number
| дескриптор родительского окна
|
Operate
| String
| вид операции (см. ниже)
|
FileName
| String
| имя исполняемого файла или документа (файла или папки), предназначенного для выполнения операции
|
Parameters
| String
| параметры командной строки приложения, принимающего документ
|
Directory
| String
| рабочая папка приложения, принимающего документ
|
CmdShow
| Enum
| стиль окна приложения, принимающего документ (см. ниже)
|
|
Параметр Operate
|
Значение
| Описание
|
"explore"
| исследует папку, указанную в параметре FileName.
|
"open"
| открывает файл, указанный в параметре FileName, который может быть как исполняемым файлом, так и файлом документа или папки.
|
"print"
| открывает файл, указанный в параметре FileName, для печати.
|
|
Параметр CmdShow
|
Значение
| Описание
|
SW_FORCEMINIMIZE
| свертывает окно, даже если поток, владеющий окном, зависает. Этот флаг должен использоваться только при свертывании окон другого потока.
|
SW_HIDE
| скрывает окно и активизирует другое окно
|
SW_MAXIMIZE
| развертывает окно
|
SW_MINIMIZE
| свертывает окно и активизирует следующее окно верхнего уровня в Z-последовательности
|
SW_RESTORE
| активизирует окно и показывает его на экране. Если окно свернуто или развернуто, система восстанавливает в его первоначальных размерах и позиции.
|
SW_SHOW
| активизирует окно и показывает его на экране в текущих размерах и позиции
|
SW_SHOWDEFAULT
| устанавливает состояние показа, основанное на флаге SW_, определенном в структуре STARTUPINFO, переданной в функцию CreateProcess программой, которая запустила приложение.
|
SW_SHOWMAXIMIZED
| разворачивает и активизирует окно
|
SW_SHOWMINIMIZED
| сворачивает и активизирует окно
|
SW_SHOWMINNOACTIVE
| сворачивает окно. Аналогично флагу SW_SHOWMINIMIZED, исключая не активные окна.
|
SW_SHOWNA
| показывает окно в его текущем размере и позиции. Аналогично флагу SW_SHOW, исключая не активные окна.
|
SW_SHOWNOACTIVATE
| показывает окно в его последнем размере и позиции. Аналогично флагу SW_SHOWNORMAL, исключая не активные окна.
|
SW_SHOWNORMAL
| активизирует и показывает свернутое или развернутое окно в его первоначальном размере и позиции.
|
|
Возвращаемое значение
|
Значение
| Описание
|
0
| ошибка: системе не хватает памяти или ресурсов
|
ERROR_FILE_NOT_FOUND
| ошибка: указанный файл или папка не найдены
|
ERROR_PATH_NOT_FOUND
| ошибка: путь к указанному файлу или папке не найден
|
ERROR_BAD_FORMAT
| ошибка: указанный файл не является правильным EXE-приложением
|
SE_ERR_ACCESSDENIED
| ошибка: система отказывает в доступе к указанному файлу
|
SE_ERR_ASSOCINCOMPLETE
| ошибка: имя ассоциированного файла приложения неправильное
|
SE_ERR_DDEBUSY
| ошибка: транзакция DDE не выполнена, поскольку выпоняются другие 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
| ошибка: нарушение совместного доступа к указанному файлу или папке
|
число>32
| успешное выполнение операции
|
|
// Главная форма frm=new TForm(); frm.Caption="JS+ - функция WinAPI ShellExecute"; frm.Width =525; frm.Height=375;
// Строка состояния stb=new TStatusBar(frm);
// Кнопка btn=new TButton(frm); btn.Caption="Исследовать"; btn.Left=(frm.ClientWidth-btn.Width)/2; btn.Top =(stb.Top-btn.Height)/2; btn.Width=btn.TextWidth(btn.Caption)+20; btn.Hint="Исследовать папку Windows"; btn.ShowHint=true; btn.OnClick=btn_Click;
stb.SimpleText=" Нажмите кнопку "+btn.Caption;
frm.ShowModal();
// Обработчик события OnClick function btn_Click(btn) { var ret;
if ((ret=ShellExecute(frm.Handle,"explore",getWinDir(),"","",SW_SHOWNORMAL))<=32) stb.SimpleText=" Ошибка выполнения операции: "+ret; else stb.SimpleText=" Успешное выполнение операции"; }
Совместимость
Windows API
|
JS+ | Руководство пользователя
|
|
|
|
|
|