|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
STARTUPINFO
The STARTUPINFO structure is used with the CreateProcess function to specify main window properties if a new window is created for the new process. For graphical user interface (GUI) processes, this information affects the first window created by the CreateWindow function and shown by the ShowWindow function. For console processes, this information affects the console window if a new console is created for the process. A process can use the GetStartupInfo function to retrieve the STARTUPINFO structure specified when the process was created.
typedef struct _STARTUPINFO { // si DWORD cb; LPTSTR lpReserved; LPTSTR lpDesktop; LPTSTR lpTitle; DWORD dwX; DWORD dwY; DWORD dwXSize; DWORD dwYSize; DWORD dwXCountChars; DWORD dwYCountChars; DWORD dwFillAttribute; DWORD dwFlags; WORD wShowWindow; WORD cbReserved2; LPBYTE lpReserved2; HANDLE hStdInput; HANDLE hStdOutput; HANDLE hStdError;
} STARTUPINFO, *LPSTARTUPINFO;
Members
cb
Specifies the size, in bytes, of the structure.
lpReserved
Reserved. Set this member to NULL before passing the structure to CreateProcess.
lpDesktop
Windows NT only: Points to a zero-terminated string that specifies either the name of the desktop only or the name of both the window station and desktop for this process. A backslash in the string pointed to by lpDesktop indicates that the string includes both desktop and window station names. Otherwise, the lpDesktop string is interpreted as a desktop name. If lpDesktop is NULL, the new process inherits the window station and desktop of its parent process.
lpTitle
For console processes, this is the title displayed in the title bar if a new console window is created. If NULL, the name of the executable file is used as the window title instead. This parameter must be NULL for GUI or console processes that do not create a new console window.
dwX, dwY
Ignored unless dwFlags specifies STARTF_USEPOSITION. Specifies the x and y offsets, in pixels, of the upper left corner of a window if a new window is created. The offsets are from the upper left corner of the screen. For GUI processes, the specified position is used the first time the new process calls CreateWindow to create an overlapped window if the x parameter of CreateWindow is CW_USEDEFAULT.
dwXSize, dwYSize
Ignored unless dwFlags specifies STARTF_USESIZE. Specifies the width (dwXSize) and height (dwYSize), in pixels, of the window if a new window is created. For GUI processes, this is used only the first time the new process calls CreateWindow to create an overlapped window if the nWidth parameter of CreateWindow is CW_USEDEFAULT.
dwXCountChars, dwYCountChars
Ignored unless dwFlags specifies STARTF_USECOUNTCHARS. For console processes, if a new console window is created, dwXCountChars specifies the screen buffer width in character columns, and dwYCountChars specifies the screen buffer height in character rows. These values are ignored in GUI processes.
dwFillAttribute
Ignored unless dwFlags specifies STARTF_USEFILLATTRIBUTE. Specifies the initial text and background colors if a new console window is created in a console application. These values are ignored in GUI applications. This value can be any combination of the following values: FOREGROUND_BLUE, FOREGROUND_GREEN, FOREGROUND_RED, FOREGROUND_INTENSITY, BACKGROUND_BLUE, BACKGROUND_GREEN, BACKGROUND_RED, and BACKGROUND_INTENSITY. For example, the following combination of values produces red text on a whilte background:
FOREGROUND_RED | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE
dwFlags
This is a bit field that determines whether certain STARTUPINFO members are used when the process creates a window. Any combination of the following values can be specified:
Value Meaning STARTF_USESHOWWINDOW If this value is not specified, the wShowWindow member is ignored. STARTF_USEPOSITION If this value is not specified, the dwX and dwY members are ignored. STARTF_USESIZE If this value is not specified, the dwXSize and dwYSize members are ignored. STARTF_USECOUNTCHARS If this value is not specified, the dwXCountChars and dwYCountChars members are ignored. STARTF_USEFILLATTRIBUTE If this value is not specified, the dwFillAttribute member is ignored. STARTF_FORCEONFEEDBACK If this value is specified, the cursor is in feedback mode for two seconds after CreateProcess is called. If during those two seconds the process makes the first GUI call, the system gives five more seconds to the process. If during those five seconds the process shows a window, the system gives five more seconds to the process to finish drawing the window. The system turns the feedback cursor off after the first call to GetMessage, regardless of whether the process is drawing. For more information on feedback, see the following Remarks section. STARTF_FORCEOFFFEEDBACK If specified, the feedback cursor is forced off while the process is starting. The normal cursor is displayed. For more information on feedback, see the following Remarks section. STARTF_USESTDHANDLES If this value is specified, sets the standard input of the process, standard output, and standard error handles to the handles specified in the hStdInput, hStdOutput, and hStdError members of the STARTUPINFO structure. The CreateProcess function's fInheritHandles parameter must be set to TRUE for this to work properly. If this value is not specified, the hStdInput, hStdOutput, and hStdError members of the STARTUPINFO structure are ignored.
wShowWindow
Ignored unless dwFlags specifies STARTF_USESHOWWINDOW. The wshowWindow member can be any of the SW_ constants defined in WINUSER.H. For GUI processes, wShowWindow specifies the default value the first time ShowWindow is called. The nCmdShow parameter of ShowWindow is ignored. In subsequent calls to ShowWindow, the wShowWindow member is used if the nCmdShow parameter of ShowWindow is set to SW_SHOWDEFAULT.
cbReserved2
Reserved; must be zero.
lpReserved2
Reserved; must be NULL.
hStdInput
Ignored unless dwFlags specifies STARTF_USESTDHANDLES. Specifies a handle that will be used as the standard input handle of the process if STARTF_USESTDHANDLES is specified.
hStdOutput
Ignored unless dwFlags specifies STARTF_USESTDHANDLES. Specifies a handle that will be used as the standard output handle of the process if STARTF_USESTDHANDLES is specified.
hStdError
Ignored unless dwFlags specifies STARTF_USESTDHANDLES. Specifies a handle that will be used as the standard error handle of the process if STARTF_USESTDHANDLES is specified.
Remarks
If a GUI process is being started and neither STARTF_FORCEONFEEDBACK or STARTF_FORCEOFFFEEDBACK is specified, the process feedback cursor is used. A GUI process is one whose subsystem is specified as "windows."
See Also
CreateProcess, CreateWindow, GetMessage, GetStartupInfo, PeekMessage, ShowWindow, WinMain
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
STARTUPINFO
Структура STARTUPINFO использована функцией CreateProcess, чтобы определять основные свойства окна если новое окно создано для нового процесса. Для графических процессов интерфейса пользавателя (ГРАФИЧЕСКИЙ интерфейс пользователя), эта информация влияет на первое окно созданное функцией CreateWindow и показанное функцией ShowWindow. Для консольных процессов, эта информация влияет на консольное окно если новая консоль создана для процесса. Процесс может использовать функцию GetStartupInfo, чтобы извлекать структуру STARTUPINFO определенную когда процесс был создан.
typedef struct _STARTUPINFO { // cb si DWORD; LPTSTR lpReserved; LPTSTR lpDesktop; LPTSTR lpTitle; DWORD dwX; DWORD dwY; DWORD dwXSize; DWORD dwYSize; DWORD dwXCountChars; DWORD dwYCountChars; DWORD dwFillAttribute; DWORD dwFlags; СЛОВО wShowWindow; СЛОВО cbReserved2; LPBYTE lpReserved2; ПРООПЕРИРУЙТЕ hStdInput; ПРООПЕРИРУЙТЕ hStdOutput; hStdError РУЧКИ;
} STARTUPINFO, *LPSTARTUPINFO;
Участники
cb
Определяет размер, в байтах, структуры.
lpReserved
Зарезервированное. Установите этот элемент на НЕДЕЙСТВИТЕЛЬНЫЙ перед прохождением структуры на CreateProcess.
lpDesktop
Windows NT только: Точки на расторгнутую нулевую строку, что определяет или имя настольной системы только или имя как станции окна так и настольной системы для этого процесса. Обратная косая черта в строке указанной, чтобы lpDesktop указывает, что строка включает как настольные так и имена станции окна. В противном случае, строка lpDesktop интерпретирована как настольное имя. Если lpDesktop НЕДЕЙСТВИТЕЛЕН, новый процесс наследует станцию окна и настольной системы своего родительского процесса.
lpTitle
Для консольных процессов, это - название отображенное в зоне названия если новое консольное окно создано. Если НЕДЕЙСТВИТЕЛЬНО, имя выполняемого файла использовано как название окна взамен. Этот параметр должен быть НЕДЕЙСТВИТЕЛЕН для ГРАФИЧЕСКОГО интерфейса пользователя или консольные процессы, что не создавать новое консольное окно.
dwX, dwY
Проигнорированное если dwFlags не определяет STARTF_USEPOSITION. Определяет x и y смещения, на пикселях, верхнего левого угла окна если новое окно создано. Смещения - из верхнего левого угла экрана. Для процессов ГРАФИЧЕСКОГО интерфейса пользователя, определенная позиция использована сначала новые вызовы процесса CreateWindow, чтобы создавать перекрытое окно если x параметр CreateWindow - CW_USEDEFAULT.
dwXSize, dwYSize
Проигнорированное если dwFlags не определяет STARTF_USESIZE. Определяет ширину (dwXSize) и высоту (dwYSize), на пикселях, окна если новое окно создано. Для процессов ГРАФИЧЕСКОГО интерфейса пользователя, это используется только сначала новые вызовы процесса CreateWindow, чтобы создавать перекрытое окно если параметр nWidth CreateWindow - CW_USEDEFAULT.
dwXCountChars, dwYCountChars
Проигнорированное если dwFlags не определяет STARTF_USECOUNTCHARS. Для консольных процессов, если новое консольное окно создано, dwXCountChars определяет экранную буферную ширину в символьных столбцах, и dwYCountChars определяет экранную буферную высоту в символьных колонках. Эти величины проигнорированы в процессах ГРАФИЧЕСКОГО интерфейса пользователя.
dwFillAttribute
Проигнорированное если dwFlags не определяет STARTF_USEFILLATTRIBUTE. Определяет начальный текст и цвета фона если новое консольное окно создано в консольном приложении. Эти величины проигнорированы в приложениях ГРАФИЧЕСКОГО интерфейса пользователя. Эта величина может быть любой комбинацией следующего величин: FOREGROUND_BLUE, FOREGROUND_GREEN, FOREGROUND_RED, FOREGROUND_INTENSITY, BACKGROUND_BLUE, BACKGROUND_GREEN, BACKGROUND_RED, и BACKGROUND_INTENSITY. Например, следующая комбинация величин производит красный текст на фоне whilte:
FOREGROUND_RED | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE
dwFlags
Это - немного область, которая определяет что независимо определенные участники STARTUPINFO использованы когда процесс создает окно. Любая комбинация следующего величин может быть определена:
Значение Величины STARTF_USESHOWWINDOW Если эта величина не определена, элемент wShowWindow проигнорирован. STARTF_USEPOSITION Если эта величина не определена, dwX и участники dwY проигнорированы. STARTF_USESIZE Если эта величина не определена, dwXSize и участники dwYSize проигнорированы. STARTF_USECOUNTCHARS Если эта величина не определена, dwXCountChars и участники dwYCountChars проигнорированы. STARTF_USEFILLATTRIBUTE Если эта величина не определена, элемент dwFillAttribute проигнорирован. STARTF_FORCEONFEEDBACK Если эта величина определена, курсор - в режиме обратной связи в течение двух секунд после того, как CreateProcess будет назван. Если в течение тех двух секунд процесс делает, первый ГРАФИЧЕСКИЙ интерфейс пользователя называется, система дает пять больше секунд в процесс. Если в течение тех пяти секунд процесс показывает окно, система дает пять больше секунд в процесс, чтобы завершать рисуя окно. Система становится курсором обратной связи после первого вызова на GetMessage, независимо от того, что процесс рисуется. Более подробно на обратной связи, смотри секцию Замечаний следующего. STARTF_FORCEOFFFEEDBACK Если определено, курсор обратной связи усилен тогда как процесс запускается. Нормальный курсор отображен. Более подробно на обратной связи, смотри секцию Замечаний следующего. STARTF_USESTDHANDLES Если эта величина определена, установлена стандартный ввод процесса, стандартного выхода, и стандартная ошибка оперируется в ручки определенные на hStdInput, hStdOutput, и участниках hStdError структуры STARTUPINFO. CreateProcess Функционального параметра fInheritHandles должен быть установлен в ИСТИНУ для этого, чтобы работать правильно. Если эта величина не определена, hStdInput, hStdOutput, и участники hStdError структуры STARTUPINFO проигнорированы.
wShowWindow
Проигнорированное если dwFlags не определяет STARTF_USESHOWWINDOW. Элемент wshowWindow может быть любой из констант SW_ определенных в WINUSER.H. Для процессов ГРАФИЧЕСКОГО интерфейса пользователя, wShowWindow определяет значению по умолчанию сначала ShowWindow назван. Параметр nCmdShow ShowWindow проигнорирован. На последующих вызовах на ShowWindow, элемент wShowWindow использован если параметр nCmdShow ShowWindow установлен на SW_SHOWDEFAULT.
cbReserved2
Зарезервированное; должно - нулевым.
lpReserved2
Зарезервированное; должно быть НЕДЕЙСТВИТЕЛЬНО.
hStdInput
Проигнорированное если dwFlags не определяет STARTF_USESTDHANDLES. Определяет ручку, которая будет использована как стандартная входная ручка процесса если STARTF_USESTDHANDLES определен.
hStdOutput
Проигнорированное если dwFlags не определяет STARTF_USESTDHANDLES. Определяет ручку, которая будет использована как стандартная выходная ручка процесса если STARTF_USESTDHANDLES определен.
hStdError
Проигнорированное если dwFlags не определяет STARTF_USESTDHANDLES. Определяет ручку, которая будет использована как стандартная ручка ошибки процесса если STARTF_USESTDHANDLES определен.
Замечания
Если процесс ГРАФИЧЕСКОГО интерфейса пользователя запускается и никакое STARTF_FORCEONFEEDBACK или STARTF_FORCEOFFFEEDBACK определен, курсор обратной связи процесса использован. Процесс ГРАФИЧЕСКОГО интерфейса пользователя - один чья подсистема определена как "окно."
Смотри Также
CreateProcess, CreateWindow, GetMessage, GetStartupInfo, PeekMessage, ShowWindow, WinMain
|
|
|
|
| |