Ler em inglês

Compartilhar via


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.

Observação Essa função não tem nenhuma biblioteca de importação associada. Essa função está disponível como o recurso chamado ConsoleControl em User32.dll. Use as funções LoadLibrary e GetProcAddress para vincular dinamicamente a User32.dll.

Sintaxe


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
);

Parâmetros

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.

Valor retornado

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.

Comentários

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 um CONSOLE_PROCESS_INFO
  • ConsoleSetCaretInfo: espera um ponteiro para um CONSOLE_CARET_INFO
  • ConsoleSetForeground: espera um ponteiro para um CONSOLESETFOREGROUND
  • ConsoleSetWindowOwner: espera um ponteiro para um CONSOLEWINDOWOWNER
  • ConsoleEndTask: espera um ponteiro para um CONSOLEENDTASK

Requisitos

   
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