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