Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
En este documento se describe la funcionalidad de la plataforma de consola que ya no forma parte de nuestra hoja de ruta del ecosistema. No se recomienda usar este contenido en nuevos productos, pero seguiremos admitiendo los usos existentes para el futuro indefinido. Nuestra solución moderna preferida se centra en secuencias de terminal virtual para lograr la máxima compatibilidad en escenarios multiplataforma. Puede encontrar más información sobre esta decisión de diseño en nuestro documento de consola clásica frente a terminal virtual .
Las funciones de salida de la consola de bajo nivel proporcionan acceso directo a las celdas de caracteres de un búfer de pantalla. Un conjunto de funciones lee o escribe en celdas consecutivas que comienzan en cualquier ubicación del búfer de pantalla de la consola. Otro conjunto de funciones lee o escribe en bloques rectangulares de celdas.
Las siguientes funciones leen o escriben en un número especificado de celdas de caracteres consecutivos en un búfer de pantalla, empezando por una celda especificada.
| Función | Descripción |
|---|---|
| ReadConsoleOutputCharacter | Copia una cadena de caracteres Unicode o ANSI desde un búfer de pantalla. |
| WriteConsoleOutputCharacter | Escribe una cadena de caracteres Unicode o ANSI en un búfer de pantalla. |
| ReadConsoleOutputAttribute | Copia una cadena de atributos de color de fondo y texto desde un búfer de pantalla. |
| WriteConsoleOutputAttribute | Escribe una cadena de atributos de color de fondo y texto en un búfer de pantalla. |
| FillConsoleOutputCharacter | Escribe un único carácter Unicode o ANSI en un número especificado de celdas consecutivas en un búfer de pantalla. |
| FillConsoleOutputAttribute | Escribe una combinación de atributos de color de fondo y texto en un número especificado de celdas consecutivas en un búfer de pantalla. |
Para todas estas funciones, cuando se encuentra la última celda de una fila, la lectura o escritura se ajusta a la primera celda de la fila siguiente. Cuando se encuentra el final de la última fila del búfer de pantalla de la consola, las funciones de escritura descartan todos los caracteres o atributos no escritos y las funciones de lectura notifican el número de caracteres o atributos escritos realmente.
Las siguientes funciones leen o escriben en bloques rectangulares de celdas de caracteres en una ubicación especificada en un búfer de pantalla.
| Función | Descripción |
|---|---|
| ReadConsoleOutput | Copia los datos de caracteres y colores de un bloque especificado de celdas de búfer de pantalla en un bloque determinado en un búfer de destino. |
| WriteConsoleOutput | Escribe datos de caracteres y colores en un bloque especificado de celdas de búfer de pantalla de un bloque determinado en un búfer de origen. |
Estas funciones tratan los búferes de pantalla y los búferes de origen o destino como matrices bidimensionales de estructuras de CHAR_INFO (que contienen datos de atributos de color y caracteres para cada celda). Las funciones especifican el ancho y el alto, en celdas de caracteres, del búfer de origen o destino, y el puntero al búfer se trata como puntero a la celda de origen (0,0) de la matriz bidimensional. Las funciones usan una estructura de SMALL_RECT para especificar a qué rectángulo acceder en el búfer de pantalla de la consola y las coordenadas de la celda superior izquierda en el búfer de origen o destino determinan la ubicación del rectángulo correspondiente en ese búfer.
Estas funciones recortan automáticamente el rectángulo de búfer de pantalla especificado para ajustarse a los límites del búfer de pantalla de la consola. Por ejemplo, si el rectángulo especifica coordenadas inferiores derechas que son (columna 100, fila 50) y el búfer de pantalla de la consola solo tiene 80 columnas de ancho, las coordenadas se recortan para que sean (columna 79, fila 50). Del mismo modo, este rectángulo ajustado se vuelve a recortar para ajustarse a los límites del búfer de origen o destino. Se especifican las coordenadas del búfer de pantalla del rectángulo real leído o escrito en . Para obtener un ejemplo que use estas funciones, vea Lectura y escritura de bloques de caracteres y atributos.
En la ilustración se muestra una operación ReadConsoleOutput donde se produce el recorte cuando el bloque se lee desde el búfer de pantalla de la consola y, de nuevo, cuando el bloque se copia en el búfer de destino. La función notifica el rectángulo real del búfer de pantalla del que copió.