|
|
|
|
Содержит информацию запуска нового процесса, используемую функцией 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
| активизирует и показывает свернутое или развернутое окно в его первоначальном размере и позиции.
|
|
// Главная форма 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+ | Руководство пользователя
|
|
|
| |
|
|