parametry rozmaru okna konsoli w pixelach

parametry rozmaru okna konsoli w pixelach
wilkwielki
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 683
0

jak sprawdzić parametry rozmaru okna konsoli w pixelach? tzn szerokość i wysokośc samego tła okna na czarno bez belki tytułowej ?
https://learn.microsoft.com/en-us/archive/msdn-technet-forums/0de248af-3497-4537-bb41-6d129b04fb27 tutaj coś jest proszę o pomoc

wilkwielki
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 683
0

chyba mam ale prosze o sprawdzenie bo u mnie na vc6.0 nie ma tych wytycznych

PCONSOLE_SCREEN_BUFFER_INFOEX consolesize;
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);

    GetConsoleScreenBufferInfoEx(hConsole,consolesize);
    int x=consolesize->srWindow.Right;
    int y=consolesize->srWindow.Bottom;
	cout << x << " " << y << endl;

    jeśli to to , to dziękuje za sprawdzenie
wilkwielki
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 683
0

g++ kompiluje mi ale nic nie pokazuje i okno tzn aplikacja się zamyka bez niczego

wilkwielki
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 683
1

można pobrać rozmiar okna konsoli w pixelach?

tBane
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poznań
  • Postów: 540
0
wilkwielki napisał(a):

można pobrać rozmiar okna konsoli w pixelach?

Chat GPT pomógł - działa

Kopiuj
#include <windows.h>
#include <iostream>

void GetConsoleSizeInPixels(int& width, int& height) {
    // Pobierz uchwyt do standardowego wyjścia (okna konsoli)
    HWND consoleWindow = GetConsoleWindow();
    if (consoleWindow == nullptr) {
        std::cerr << "Nie można pobrać uchwytu do konsoli!\n";
        return;
    }

    // Pobierz rozmiar okna konsoli w pikselach
    RECT rect;
    if (GetWindowRect(consoleWindow, &rect)) {
        width = rect.right - rect.left;
        height = rect.bottom - rect.top;
    }
    else {
        std::cerr << "Nie udało się pobrać rozmiaru okna konsoli!\n";
    }
}

int main() {
    int width = 0, height = 0;
    GetConsoleSizeInPixels(width, height);

    std::cout << "Rozmiar okna konsoli: " << width << " x " << height << " px\n";
    return 0;
}
wilkwielki
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 683
1

no w końcu ktoś pomógł , dzięki Ci mistrzu

wilkwielki
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 683
0

jest problem , źle pobiera orginalne wartosci , jakies mniejsze parametryczne , widac na obrazku

screenshot-20250203130229.png

wilkwielki
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 683
0

tBane , masz jjakiś inny sposób pobrania rozmiaru okna konsoli w pixelach?

AD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 32
0

Bo prawdopodobnie musisz użyć innej funkcji. Tylko top i left wynoszą zero. Rozmiar to right i bottom.

Kopiuj
GetClientRect(consoleWindow, &rect)
wilkwielki
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 683
0

taki samy błąd z GetClientRect(consoleWindow, &rect) , tez nie pobiera orginalnych wartości , tylko jakies mniejsze

wilkwielki
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 683
0

te same błedy z:
GetWindowRect
GetClientRect
odczytuje jakies pomniejszone wartosci , dlaczego to nie działa?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.