Compartir a través de


Función SetConsoleWindowInfo

Importante

En este documento se describe 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 en un 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 Comparación de consola clásica y terminal virtual.

Establece el tamaño y la posición actuales de la ventana del búfer de pantalla de la consola.

Sintaxis

BOOL WINAPI SetConsoleWindowInfo(
  _In_       HANDLE     hConsoleOutput,
  _In_       BOOL       bAbsolute,
  _In_ const SMALL_RECT *lpConsoleWindow
);

Parámetros

hConsoleOutput [in]
Identificador del búfer de pantalla de la consola. El identificador debe tener derecho de acceso de GENERIC_READ. Para obtener más información, consulte Seguridad y derechos de acceso del búfer de la consola.

bAbsolute [in]
Si este parámetro es TRUE, las coordenadas especifican las nuevas esquinas superior izquierda e inferior derecha de la ventana. Si es FALSE, las coordenadas son relativas a las coordenadas actuales de la esquina de ventana.

lpConsoleWindow [in]
Un puntero a una estructura SMALL_RECT que especifica las nuevas esquinas superior izquierda e inferior derecha de la ventana.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

Comentarios

Se produce un error en la función si el rectángulo de ventana especificado se extiende más allá de los límites del búfer de pantalla de la consola. Esto significa que los miembros Top y Left del rectángulo lpConsoleWindow (o las coordenadas superior e izquierda calculadas, si bAbsolute es FALSE) no pueden ser inferiores a cero. Del mismo modo, los miembros Bottom y Right (o las coordenadas inferior y derecha calculadas) no pueden ser mayores que (altura del búfer de pantalla – 1) y (ancho del búfer de pantalla – 1), respectivamente. La función también produce un error si el miembro Right (o coordenada derecha calculada) es menor o igual que el miembro Left (o coordenada izquierda calculada) o si el miembro Bottom (o coordenada inferior calculada) es menor o igual que el miembro Top (o coordenada superior calculada).

En el caso de las consolas con más de un búfer de pantalla, cambiar la ubicación de la ventana de un búfer de pantalla no afecta a las ubicaciones de ventana de los otros búferes de pantalla.

Para determinar el tamaño actual y la posición de la ventana de un búfer de pantalla, utilice la función GetConsoleScreenBufferInfo. Esta función también devuelve el tamaño máximo de la ventana, dado el tamaño actual del búfer de pantalla, el tamaño de fuente actual y el tamaño de pantalla. La función GetLargestConsoleWindowSize devuelve el tamaño máximo de ventana dados los tamaños de fuente y pantalla actuales, pero no tiene en cuenta el tamaño del búfer de pantalla de la consola.

SetConsoleWindowInfo se puede usar para desplazar el contenido del búfer de pantalla de la consola cambiando la posición del rectángulo de ventana sin cambiar su tamaño.

Sugerencia

Esta API no se recomienda y no tiene un equivalente de terminal virtual. Esta decisión alinea intencionadamente la plataforma Windows con otros sistemas operativos en los que se concede al usuario control total sobre esta opción de presentación. Es posible que las aplicaciones que se comunican remotamente a través de utilidades multiplataforma y transportes, como SSH, no funcionen según lo previsto si se usa esta API.

Ejemplos

Para ver un ejemplo, consulte Desplazamiento por la ventana de un búfer de pantalla.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado ConsoleApi2.h (a través de WinCon.h, incluido Windows.h)
Biblioteca Kernel32.lib
Archivo DLL Kernel32.dll

Consulte también

Funciones de la consola

GetConsoleScreenBufferInfo

GetLargestConsoleWindowSize

ScrollConsoleScreenBuffer

Desplazamiento del búfer de pantalla

SMALL_RECT