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

TStartupInfo

- структура WinAPI
Типы данных WinAPI
Содержит информацию запуска нового процесса, используемую функцией WinAPI CreateProcess.
Объявление переменной

Value=new TStartupInfo();

Собственные свойства
Название Тип Описание
cb Number размер структуры в байтах (устанавливается автоматически языком JS+ при создании экземпляра структуры)
lpReserved String зарезирвировано для внутреннего использования системой
lpDesktop String имя Рабочего стола Windows (обратный слэш в строке означает, что строка включает в себя также имя оконной станции)
lpTitle String заголовок консоли для консольных процессов
dwX Number левая координата окна созданного процесса (при использовании флага STARTF_USEPOSITION в свойстве dwFlags)
dwY Number верхняя координата окна созданного процесса (при использовании флага STARTF_USEPOSITION в свойстве dwFlags)
dwXSize Number ширина окна созданного процесса (при использовании флага STARTF_USESIZE в свойстве dwFlags)
dwYSize Number высота окна созданного процесса (при использовании флага STARTF_USESIZE в свойстве dwFlags)
dwXCountChars Number ширина экранного буфера в символах для консольных процессов (при использовании флага STARTF_USECOUNTCHARS в свойстве dwFlags)
dwYCountChars Number высота экранного буфера в символах для консольных процессов (при использовании флага STARTF_USECOUNTCHARS в свойстве dwFlags)
dwFillAttribute Number цвет текста и фона дочерних консольных окон для консольных процессов (при использовании флага STARTF_USEFILLATTRIBUTE в свойстве dwFlags)
dwFlags Enumset набор комбинируемых флагов создаваемого процесса (см. ниже)
wShowWindow Number стиль окна созданного процесса (при использовании флага STARTF_USESHOWWINDOW в свойстве dwFlags), см. ниже
cbReserved2 Number зарезирвировано для внутреннего использования системой
lpReserved2 String зарезирвировано для внутреннего использования системой
hStdInput Number стандартный дескриптор ввода созданного процесса (при использовании флага STARTF_USESTDHANDLES в свойстве dwFlags)
hStdOutput Number стандартный дескриптор вывода созданного процесса (при использовании флага STARTF_USESTDHANDLES в свойстве dwFlags)
hStdError Number стандартный дескриптор ошибки созданного процесса (при использовании флага STARTF_USESTDHANDLES в свойстве dwFlags)

Свойство dwFlags
STARTF_FORCEONFEEDBACK указывает, что курсор находится в режиме обратной связи с системой в течение двух секунд после вызова функции CreateProcess. Если в течение этих двух секунд делается вызов GUI, система дает процессу еще пять секунд. Если в течение этих пяти секунд процесс выводит на экран окно, система дает процессу еще пять секунд на завершение отрисовки окна
STARTF_FORCEOFFFEEDBACK указывает, что обратная связь с курсором отключена до старта процесса
STARTF_RUNFULLSCREEN указывает, что консольный процесс должен быть запущен в полноэкранном режиме
STARTF_USECOUNTCHARS указывает на использование свойств dwXCountChars и dwYCountChars
STARTF_USEFILLATTRIBUTE указывает на использование свойства dwFillAttribute
STARTF_USEPOSITION указывает на использование свойств dwX и dwY
STARTF_USESHOWWINDOW указывает на использование свойства wShowWindow
STARTF_USESIZE указывает на использование свойств dwXSize и dwYSize
STARTF_USESTDHANDLES указывает на использование свойств hStdInput, hStdOutput и hStdError

Свойство wShowWindow
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 активизирует и показывает свернутое или развернутое окно в его первоначальном размере и позиции.
Пример (JS+)
// Главная форма
frm=new TForm();
frm.Caption="JS+ - структура WinAPI TStartupInfo";
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-15;
btn.Hint="Запустить приложение notepad.exe";
btn.ShowHint=true;
btn.OnClick=btn_Click;

// Переключатель
chb=new TCheckBox(frm);
chb.Text="ждать завершения работы приложения "+btn.Caption;
chb.Width=chb.TextWidth(chb.Text)+20;
chb.Left=(frm.ClientWidth-chb.Width)/2;
chb.Top =btn.Top+btn.Height+15;
chb.Checked=true;

stb.SimpleText=" Для запуска приложения нажмите кнопку "+
btn.Caption;

frm.ShowModal();

// Обработчик события OnClick
function btn_Click(btn)
{
  stb.SimpleText=" Запуск приложения ...";

  stb.SimpleText=(app_Exec("notepad.exe",SW_SHOWNORMAL,chb.Checked)) ?
  " Успешный запуск приложения" :
  " Ошибка при запуске приложения ";
}

function app_Exec(exec_Str,show_Mode,wait_Flg)
{
  var si=new TStartupInfo();
  var pi=new TProcessInformation();

  si.dwFlags=STARTF_USESHOWWINDOW;
  si.wShowWindow=show_Mode;

  if (CreateProcess(
      null,exec_Str,null,null,false,0,null,null,si,pi)==false)
    return false;

  CloseHandle(pi.hThread);

  if (wait_Flg) {
    WaitForSingleObject(pi.hProcess,INFINITE);
    CloseHandle(pi.hProcess);
  }

  return true;
}
Совместимость
Windows API
См. также
JS+Руководство пользователя
Адрес этой страницы: http://jsplus.ru/MANUAL/JSPlus/WinAPI/DataType/TStartupInfo.htm
© 2024,