JS+
Усиленный язык сценариев для Windows
с возможностью встраивания
в ваши приложения
О языке JS+ Справочник Скачать JS+ DLL
Контакты
СПРАВОЧНИК ПО ЯЗЫКУ JS+ Содержание

ShellExecute

- функция WinAPI
Функции WinAPI
Выполняет стандартные операции с документами зарегистрированных типов при помощи стандартных приложений.
Синтаксис
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 успешное выполнение операции
Пример (JS+)
// Главная форма
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+Руководство пользователя
Адрес этой страницы: http://jsplus.ru/MANUAL/JSPlus/WinAPI/Function/ShellExecute.htm
© 2024,