Konsolenfenster Position ändern



  • Wie kann ich die Position eines Konsolenfensters verändern. Ich benutze es um ein paar Infos auszugeben. Doch es liegt manchmal hinter dem Win32 Fenster. Besser währe es an x0 / y0



  • Moin, Moin...

    Dazu kannst Du MoveWindow verwenden. Allerdings benötigst Du das Handle Deines Konsolenfensters und die Fenstergröße.

    Mal ein wenig Code(Konsolenanwendung):

    #include <windows.h>
    #include <stdio.h>
    #include <stdlib.h>
    
    HWND    hwndConWin;
    RECT    rect;
    
    int main()
    {
      printf("Moinsen...\n\nEin Test...\n\n");
    
      hwndConWin = GetForegroundWindow();
      GetWindowRect(hwndConWin, &rect);
    
      MoveWindow(hwndConWin, 0, 0, rect.right - rect.left, rect.bottom - rect.top, TRUE);
    
      system("PAUSE");
    
      return 0;
    }
    

    Wenn Du das Konsolenfenster mit der Funktion AllocConsole anforderst, kannst Du die Funktion GetForegroundWindow gleich danach aufrufen. Ansonsten würde sich auch FindWindow eignen.

    Ciao...



  • 👍 danke 😃



  • Ich bins wieder. Das mit der Position hat alles Funktioniert. Bis ich den Rechner abgrschaltet habe und jetzt weiter machen wollte.

    Ich habe festgestellt das beim ersten starten der Anwendung das Fenster nicht an die von mir gewünschte Position gezeichnet wird. Erst beim zweiten oder dritten starten klappt es wieder mit der Positionierung.

    Weiss jemand Rat?



  • push :xmas1:

    keiner? 😞


Anmelden zum Antworten