Bagikan melalui


Fungsi SetConsoleWindowInfo

Penting

Dokumen ini menjelaskan fungsionalitas platform konsol yang tidak lagi menjadi bagian dari peta jalan ekosistem kami. Kami tidak menyarankan penggunaan konten ini dalam produk baru, tetapi kami akan terus mendukung penggunaan yang ada untuk masa depan yang tidak terbatas. Solusi modern pilihan kami berfokus pada urutan terminal virtual untuk kompatibilitas maksimum dalam skenario lintas platform. Anda dapat menemukan informasi selengkapnya tentang keputusan desain ini di konsol klasik vs. dokumen terminal virtual kami.

Mengatur ukuran dan posisi jendela buffer layar konsol saat ini.

Sintaks

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

Parameter

hConsoleOutput [in]
Handel ke buffer layar konsol. Handel harus memiliki akses GENERIC_READ yang tepat. Untuk informasi selengkapnya, lihat Keamanan dan Hak Akses Buffer Konsol.

bAbsolute [in]
Jika parameter ini TRUE, koordinat menentukan sudut kiri atas dan kanan bawah jendela baru. Jika FALSE, koordinat relatif terhadap koordinat sudut jendela saat ini.

lpConsoleWindow [in]
Penunjuk ke struktur SMALL_RECT yang menentukan sudut kiri atas dan kanan bawah jendela yang baru.

Nilai hasil

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Fungsi gagal jika persegi panjang jendela yang ditentukan meluas di luar batas buffer layar konsol. Ini berarti bahwa anggota Atas dan Kiri dari persegi panjang lpConsoleWindow (atau koordinat atas dan kiri yang dihitung, jika bAbsolute adalah FALSE) tidak boleh kurang dari nol. Demikian pula, anggota Bawah dan Kanan (atau koordinat bawah dan kanan yang dihitung) tidak boleh lebih besar dari (tinggi buffer layar – 1) dan (lebar buffer layar – 1), masing-masing. Fungsi ini juga gagal jika anggota Kanan (atau koordinat kanan terhitung) kurang dari atau sama dengan anggota Kiri (atau koordinat kiri terhitung) atau jika anggota Bawah (atau koordinat bawah terhitung) kurang dari atau sama dengan anggota Teratas (atau koordinat teratas terhitung).

Untuk konsol dengan lebih dari satu buffer layar, mengubah lokasi jendela untuk satu buffer layar tidak memengaruhi lokasi jendela buffer layar lainnya.

Untuk menentukan ukuran dan posisi jendela buffer layar saat ini, gunakan fungsi GetConsoleScreenBufferInfo. Fungsi ini juga mengembalikan ukuran maksimum jendela, mengingat ukuran buffer layar saat ini, ukuran font saat ini, dan ukuran layar. Fungsi GetLargestConsoleWindowSize mengembalikan ukuran jendela maksimum mengingat ukuran font dan layar saat ini, tetapi tidak mempertimbangkan ukuran buffer layar konsol.

SetConsoleWindowInfo dapat digunakan untuk menggulir konten buffer layar konsol dengan menggeser posisi persegi panjang jendela tanpa mengubah ukurannya.

Tip

API ini tidak disarankan dan tidak memiliki terminal virtual yang setara. Keputusan ini sengaja menyelaraskan platform Windows dengan sistem operasi lain di mana pengguna diberikan kontrol penuh atas opsi presentasi ini. Aplikasi jarak jauh melalui utilitas lintas platform dan transportasi seperti SSH mungkin tidak berfungsi seperti yang diharapkan jika menggunakan API ini.

Contoh

Misalnya, lihat Menggulir Jendela Buffer Layar.

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Header ConsoleApi2.h (melalui WinCon.h, termasuk Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll

Baca juga

Fungsi Konsol

GetConsoleScreenBufferInfo

GetLargestConsoleWindowSize

ScrollConsoleScreenBuffer

Menggulir Penyangga Layar

SMALL_RECT