Função ConsoleControl
Executa operações especiais de kernel para aplicativos host de console. Isso inclui recriar a janela do console, permitir que o console passe direitos de primeiro plano para aplicativos de subsistema de console iniciados e encerrar processos anexados.
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
);
Command [in]
Um dos valores CONSOLECONTROL
que indica qual função de controle do console deve ser executada.
ConsoleInformation [in]
Um ponteiro para uma das estruturas CONSOLEENDTASK
, CONSOLEWINDOWOWNER
ou CONSOLESETFOREGROUND
que especifica dados adicionais para a função de controle de console solicitada.
ConsoleInformationLength [in]
O tamanho da estrutura apontada pelo parâmetro ConsoleInformation.
Se a função obtiver êxito, o valor de retorno será STATUS_SUCCESS
.
Se a função falhar, o valor de retorno será um NTSTATUS
, indicando do motivo da falha.
Essa função não é definida em um cabeçalho do SDK e deve ser declarada pelo chamador. Esta função é exportada de user32.dll.
Cada comando espera uma struct diferente para o parâmetro ConsoleInformation
.
ConsoleNotifyConsoleApplication
: espera um ponteiro para umCONSOLE_PROCESS_INFO
ConsoleSetCaretInfo
: espera um ponteiro para umCONSOLE_CARET_INFO
ConsoleSetForeground
: espera um ponteiro para umCONSOLESETFOREGROUND
ConsoleSetWindowOwner
: espera um ponteiro para umCONSOLEWINDOWOWNER
ConsoleEndTask
: espera um ponteiro para umCONSOLEENDTASK
Cliente mínimo com suporte | Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Cabeçalho | nenhuma, ver comentários |
Biblioteca | nenhuma, ver comentários |
DLL | User32.dll |