Freigeben über


SetConsoleWindowInfo Funktion

Wichtig

In diesem Dokument werden Konsolenplattformfunktionen beschrieben, die nicht mehr Teil unserer Ökosystem-Roadmap sind. Wir empfehlen nicht, diesen Inhalt in neuen Produkten zu verwenden, aber wir werden weiterhin vorhandene Nutzungen für die unbegrenzte Zukunft unterstützen. Unsere bevorzugte moderne Lösung konzentriert sich auf virtuelle Terminalsequenzen für maximale Kompatibilität in plattformübergreifenden Szenarien. Weitere Informationen zu dieser Designentscheidung finden Sie in unserem Dokument klassische Konsole im Vergleich zum virtuellen Terminal.

Legt die aktuelle Größe und Position des Fensters eines Konsolenbildschirmpuffers fest.

Syntax

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

Parameter

hConsoleOutput [in]
Ein Handle für den Konsolenbildschirm-Puffer. Das Handle muss über das Zugriffsrecht GENERIC_READ verfügen. Weitere Informationen finden Sie unter Sicherheit und Zugriffsrechte für Konsolenpuffer.

bAbsolute [in]
Wenn dieser Parameter TRUEist, geben die Koordinaten die neuen oberen linken und unteren rechten Ecken des Fensters an. Wenn dies FALSE ist, sind die Koordinaten relativ zu den aktuellen Fenstereckekoordinaten.

lpConsoleWindow [in]
Ein Zeiger auf eine SMALL_RECT Struktur, die die neuen oberen linken und unteren rechten Ecken des Fensters angibt.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Die Funktion schlägt fehl, wenn das angegebene Fensterrechteck über die Grenzen des Konsolenbildschirmpuffers hinausgeht. Dies bedeutet, dass die Oberen und Linken Mitglieder des Rechtecks lpConsoleWindow (oder die berechneten oberen und linken Koordinaten, wenn bAbsolute FALSE ist) nicht kleiner als null sein können. Entsprechend können die Unteren und Rechten Mitglieder (oder die berechneten unteren und rechten Koordinaten) nicht größer als (Bildschirmpufferhöhe – 1) bzw. (Bildschirmpufferbreite – 1) sein. Die Funktion schlägt auch fehl, wenn das Rechte Mitglied (oder die berechnete rechte Koordinate) kleiner oder gleich dem Linken Mitglied (oder berechneten linken Koordinate) ist oder das Untere Mitglied (oder die berechnete untere Koordinate) kleiner oder gleich dem Oberen Mitglied (oder berechneten oberen Koordinate) ist.

Bei Konsolen mit mehr als einem Bildschirmpuffer wirkt sich das Ändern der Fensterposition für einen Bildschirmpuffer nicht auf die Fensterpositionen der anderen Bildschirmpuffer aus.

Um die aktuelle Größe und Position des Fensters eines Bildschirmpuffers zu bestimmen, verwenden Sie die Funktion GetConsoleScreenBufferInfo. Diese Funktion gibt auch die maximale Größe des Fensters zurück, je nach aktueller Bildschirmpuffergröße, dem aktuellen Schriftgrad und dem Bildschirmformat. Die GetLargestConsoleWindowSize-Funktion gibt die maximale Fenstergröße für die aktuelle Schriftart und die Bildschirmgrößen zurück, berücksichtigt jedoch nicht die Größe des Konsolenbildschirmpuffers.

SetConsoleWindowInfo kann verwendet werden, um den Inhalt des Konsolenbildschirmpuffers zu scrollen, indem die Position des Fensterrechtecks verschoben wird, ohne seine Größe zu ändern.

Tipp

Diese API wird nicht empfohlen und verfügt nicht über eine virtuelle Terminal-Entsprechung. Diese Entscheidung richtet die Windows-Plattform absichtlich mit anderen Betriebssystemen aus, auf denen dem Benutzer die volle Kontrolle über diese Präsentationsoption gewährt wird. Anwendungen, die über plattformübergreifende Dienstprogramme und Transporte wie SSH remoten, funktionieren möglicherweise nicht wie erwartet, wenn Sie diese API verwenden.

Beispiele

Ein Beispiel finden Sie unter Scrollen des Fensters eines Bildschirmpuffers.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Header ConsoleApi2.h (über WinCon.h, Windows.h einschließen)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

Konsolenfunktionen

GetConsoleScreenBufferInfo

GetLargestConsoleWindowSize

ScrollConsoleScreenBuffer

Scrollen im Bildschirmpuffer

SMALL_RECT