Änderungen seit Win11?



  • Hallo,
    Ich habe einige Schwierigkeiten mit Windows 11. Nicht nur, das es bei mir sehr fragwürdig läuft, auch meine Programme laufen nicht mehr. Nun kann ich nicht beurteilen, ob es an meinem System liegt oder an eventuellen Änderungen in Win11 selbst. Deshalb möchte ich die Win11-User unter Euch bitten, dieses kleine Programm auszuführen.

    #include <windows.h>
    #include <iostream>
    
    bool getCFI(HANDLE& outHandle, CONSOLE_FONT_INFOEX& cfi)
    {
    	cfi.cbSize = sizeof(cfi);
    	if (!GetCurrentConsoleFontEx(outHandle, FALSE, &cfi))
    		return false;
    	else
    		return true;
    }
    
    int main()
    {
    	HANDLE outHandle = GetStdHandle(STD_OUTPUT_HANDLE);
    	CONSOLE_FONT_INFOEX cfi = {};
    
    	if (getCFI(outHandle, cfi))
    		std::cout << cfi.dwFontSize.X << " x " << cfi.dwFontSize.Y << '\n';
    	else
    		std::cout << "error\n";
    }
    

    Bei mir ergibt nämlich cfi.dwFontSize.X ständig 0. Und das geht dann immer so weiter...



  • @zeropage
    Ich habe dies unter Win10 erfolgreich getestet.

    Da mich der Fall interresiert, habe ich mal herumgestöbert und dies gefunden.

    GetCurrentConsoleFontEx unable to work normally

    Zitat:

    Why are you setting UseDx at all? That shouldn't do anything on any version of Windows...

    It does something here. When set to 1 in HKCU\Console all console apps start with a larger font, and, as @OpenGreatDream said, GetCurrentConsoleFontEx always gives dwFontSize.X == 0.



  • Danke fürs Testen, das ist interessant. Unter Win10 funktionierte das nämlich auch noch bei mir.

    //In fact, this should be a bug introduced by the recent Windows update.

    Das könnte sein, denn anfänglich hatte ich keine Probleme. Seitdem geht per Default in VS22 bei einer Konsolenanwendung die Powershell auf. Das kann man zwar umstellen, aber es ist nicht mehr die Konsole wie vor dem Update, weil sie zB Tabs hat. Deshalb könnte ich mit vorstellen, das die alten WinApi-Funktionen nicht mehr richtig funktionieren. Hoffe, ich habe das einigermaßen korrekt ausgedrückt.


Anmelden zum Antworten