Funzione SetConsoleWindowInfo
Importante
Questo documento descrive le funzionalità della piattaforma della console che non fanno più parte della roadmap dell'ecosistema. Non è consigliabile usare questo contenuto nei nuovi prodotti, ma continueremo a supportare gli utilizzi esistenti per il futuro indefinito. La soluzione moderna preferita è incentrata sulle sequenze di terminale virtuale per garantire la massima compatibilità negli scenari multipiattaforma. Per altre informazioni su questa decisione di progettazione, vedere il documento relativo alla console classica e al terminale virtuale.
Imposta le dimensioni correnti e la posizione della finestra del buffer dello schermo della console.
Sintassi
BOOL WINAPI SetConsoleWindowInfo(
_In_ HANDLE hConsoleOutput,
_In_ BOOL bAbsolute,
_In_ const SMALL_RECT *lpConsoleWindow
);
Parametri
hConsoleOutput [in]
Handle per il buffer dello schermo della console. L'handle deve avere il diritto di accesso GENERIC_READ . Per altre informazioni, vedere Sicurezza dei buffer della console e diritti di accesso.
bAbsolute [in]
Se questo parametro è TRUE, le coordinate specificano i nuovi angoli superiore sinistro e inferiore destro della finestra. Se è FAL edizione Standard, le coordinate sono relative alle coordinate correnti dell'angolo della finestra.
lpConsoleWindow [in]
Puntatore a una struttura SMALL_RECT che specifica i nuovi angoli superiore sinistro e inferiore destro della finestra.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Osservazioni:
La funzione ha esito negativo se il rettangolo della finestra specificato si estende oltre i limiti del buffer dello schermo della console. Ciò significa che i membri superiore e sinistro del rettangolo lpConsoleWindow (o le coordinate superiori e sinistra calcolate, se bAbsolute è FAL edizione Standard) non possono essere minori di zero. Analogamente, i membri Inferiore e Destro (o le coordinate calcolate in basso e a destra) non possono essere maggiori rispettivamente (altezza buffer dello schermo - 1) e (larghezza buffer dello schermo - 1). La funzione ha esito negativo anche se il membro Right (o la coordinata destra calcolata) è minore o uguale al membro Left (o coordinata sinistra calcolata) o se il membro Bottom (o la coordinata inferiore calcolata) è minore o uguale al membro Top (o coordinata superiore calcolata).
Per le console con più buffer dello schermo, la modifica della posizione della finestra per un buffer dello schermo non influisce sulle posizioni delle finestre degli altri buffer dello schermo.
Per determinare le dimensioni correnti e la posizione della finestra di un buffer dello schermo, usare la funzione GetConsoleScreenBufferInfo. Questa funzione restituisce anche le dimensioni massime della finestra, in base alle dimensioni correnti del buffer dello schermo, alle dimensioni correnti del carattere e alle dimensioni dello schermo. La funzione GetLargestConsoleWindowSize restituisce la dimensione massima della finestra in base al tipo di carattere e alle dimensioni dello schermo correnti, ma non considera le dimensioni del buffer dello schermo della console.
SetConsoleWindowInfo può essere usato per scorrere il contenuto del buffer dello schermo della console spostando la posizione del rettangolo della finestra senza modificarne le dimensioni.
Suggerimento
Questa API non è consigliata e non ha un terminale virtuale equivalente. Questa decisione allinea intenzionalmente la piattaforma Windows ad altri sistemi operativi in cui all'utente viene concesso il controllo completo su questa opzione di presentazione. Le applicazioni remote tramite utilità multipiattaforma e trasporti come SSH potrebbero non funzionare come previsto se si usa questa API.
Esempi
Per un esempio, vedere Scorrimento della finestra di un buffer dello schermo.
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Intestazione | ConsoleApi2.h (tramite WinCon.h, includere Windows.h) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |