Функция ConsoleControl
Выполняет специальные операции ядра для консольных приложений. Это включает повторную обработку окна консоли, что позволяет консоли передавать права переднего плана на запущенные приложения подсистемы консоли и завершая присоединенные процессы.
typedef enum _CONSOLECONTROL
{
Reserved1,
ConsoleNotifyConsoleApplication,
Reserved2,
ConsoleSetCaretInfo,
Reserved3,
ConsoleSetForeground,
ConsoleSetWindowOwner,
ConsoleEndTask,
} CONSOLECONTROL;
typedef struct _CONSOLEENDTASK
{
HANDLE ProcessId;
HWND hwnd;
ULONG ConsoleEventCode;
ULONG ConsoleFlags;
} CONSOLEENDTASK, *PCONSOLEENDTASK;
typedef struct _CONSOLEWINDOWOWNER
{
HWND hwnd;
ULONG ProcessId;
ULONG ThreadId;
} CONSOLEWINDOWOWNER, *PCONSOLEWINDOWOWNER;
typedef struct _CONSOLESETFOREGROUND
{
HANDLE hProcess;
BOOL bForeground;
} CONSOLESETFOREGROUND, *PCONSOLESETFOREGROUND;
typedef struct _CONSOLE_PROCESS_INFO
{
IN DWORD dwProcessID;
IN DWORD dwFlags;
} CONSOLE_PROCESS_INFO, *PCONSOLE_PROCESS_INFO;
typedef struct _CONSOLE_CARET_INFO
{
IN HWND hwnd;
IN RECT rc;
} CONSOLE_CARET_INFO, *PCONSOLE_CARET_INFO;
NTSTATUS ConsoleControl(
_In_ CONSOLECONTROL Command,
_In_reads_bytes_(ConsoleInformationLength) PVOID ConsoleInformation,
_In_ DWORD ConsoleInformationLength
);
Команда [in]
Одно из значений CONSOLECONTROL
, указывающее, какая функция управления консолью должна выполняться.
ConsoleInformation [in]
Указатель на одну из CONSOLEENDTASK
CONSOLEWINDOWOWNER
структур или CONSOLESETFOREGROUND
структур, указывающих дополнительные данные для запрошенной функции управления консолью.
ConsoleInformationLength [in]
Размер структуры, на которую указывает параметр ConsoleInformation .
Если функция выполнена успешно, возвращается STATUS_SUCCESS
значение.
Если функция завершается ошибкой NTSTATUS
, возвращаемое значение является причиной сбоя.
Эта функция не определена в заголовке пакета SDK и должна быть объявлена вызывающим оператором. Эта функция экспортируется из user32.dll.
Каждая команда ожидает другую структуру для ConsoleInformation
параметра.
ConsoleNotifyConsoleApplication
: ожидает указатель на объектCONSOLE_PROCESS_INFO
ConsoleSetCaretInfo
: ожидает указатель на объектCONSOLE_CARET_INFO
ConsoleSetForeground
: ожидает указатель на объектCONSOLESETFOREGROUND
ConsoleSetWindowOwner
: ожидает указатель на объектCONSOLEWINDOWOWNER
ConsoleEndTask
: ожидает указатель на объектCONSOLEENDTASK
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Верхний колонтитул | нет, см. примечания |
Библиотека | нет, см. примечания |
DLL-библиотеки | User32.dll |