Compartilhar via


Função WriteConsoleInput

Importante

Este documento descreve a funcionalidade da plataforma do console que não faz mais parte do nosso roteiro de ecossistema. Não recomendamos o uso desse conteúdo em novos produtos, mas continuaremos a oferecer suporte aos usos existentes por tempo indeterminado. Nossa solução moderna preferida se concentra em sequências de terminais virtuais para máxima compatibilidade em cenários de multiplataforma. Você pode encontrar mais informações sobre essa decisão de design em nosso documento Console clássico versus terminal virtual.

Grava dados diretamente no buffer de entrada do console.

Sintaxe

BOOL WINAPI WriteConsoleInput(
  _In_        HANDLE       hConsoleInput,
  _In_  const INPUT_RECORD *lpBuffer,
  _In_        DWORD        nLength,
  _Out_       LPDWORD      lpNumberOfEventsWritten
);

Parâmetros

hConsoleInput [entrada]
Um identificador do buffer da entrada do console. O identificador deve ter o direito de acesso GENERIC_WRITE. Para saber mais, confira Segurança de buffer e direitos de acesso do console.

lpBuffer [in]
Um ponteiro para uma matriz de estruturas INPUT_RECORD que contêm dados a serem gravados no buffer de entrada.

nLength [entrada]
O número de registros de entrada a serem gravados.

lpNumberOfEventsWritten [saída]
Um ponteiro para uma variável que recebe o número de registros de entrada gravados.

Valor retornado

Se a função for bem-sucedida, o valor retornado será diferente de zero.

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.

Comentários

WriteConsoleInput coloca registros de entrada no buffer de entrada atrás de qualquer evento pendente no buffer. O buffer de entrada cresce dinamicamente, se necessário, para armazenar o número de eventos que forem gravados.

Essa função usa caracteres Unicode ou caracteres de 8 bits da página de código atual do console. O padrão da página de código do console inicialmente é a página de código OEM do sistema. Para alterar a página de código do console, use as funções SetConsoleCP ou SetConsoleOutputCP. Os consumidores herdados também podem usar os comandos chcp ou mode con cp select=, mas eles não são recomendados para novos desenvolvimentos.

Dica

Essa API não é recomendada e não tem um equivalente de terminal virtual. Essa decisão alinha intencionalmente a plataforma Windows com outros sistemas operacionais. Essa operação é considerada o verbo de caminho errado desse buffer. A comunicação remota de aplicativos por meio de utilitários multiplataforma e transportes como SSH pode não funcionar como esperado se estiver usando essa API.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho ConsoleApi2.h (via WinCon.h, inclui o Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll
Nomes Unicode e ANSI WriteConsoleInputW (Unicode) e WriteConsoleInputA (ANSI)

Confira também

Funções de Console

INPUT_RECORD

Funções de entrada do console de baixo nível

MapVirtualKey

PeekConsoleInput

ReadConsoleInput

SetConsoleCP

SetConsoleOutputCP

VkKeyScan