cmd-Fenster an x und y Position setzen?

Gast #6348322
In der Win32-API gibt's zwei Befehle dazu:
SendMessage: damit lassen sich Nachrichten an
die eigene als auch an Fremde Anwendungen schicken
EnumWindows: Zählt mittels eigener CallBack-Funktion
alle Toplevel-Fenster auf.

Man kann z.B. den Namen der Toplevel-Fenster abfragen
und dann dem Fenster eine MoveWindow-Nachricht schicken.
Im Prinzip kannst du eine Einfache Konsolenanwendung
schreiben, die dann sogar im selben CMD-Fenster
aufgerufen werden kann.

Ist nicht ganz einfach (kein 10-Zeiler), aber trotzdem
in kurzer Zeit machbar.
#6348436
Sigi schrieb:
> In der Win32-API

Ich habs mal anders gemacht, aber funktioniert auch.

Kannst es in verschiedenen Formen aufrufen:
-p = Position (x, y)
-s = Size (width, height) Angabe in Zeichen, so wie du es oben erwähnt 
hast.

1) myCMD.exe -p 10 100 -s 40 10
2) myCMD.exe -s 40 10 -p 10 100
3) myCMD.exe -p 10 100
4) myCMD.exe -s 40 10
5) myCMD.exe

Vllt. hilft dir das ;-)
Brauchst eigentlich dann nur noch eine Verknüpfung mit den Parametern 
erstellen.
Angehängte Dateien:
Gast #6348632
Sigi schrieb:
> Man kann z.B. den Namen der Toplevel-Fenster abfragen
> und dann dem Fenster eine MoveWindow-Nachricht schicken.
> Im Prinzip kannst du eine Einfache Konsolenanwendung
> schreiben, die dann sogar im selben CMD-Fenster
> aufgerufen werden kann.

Wenn man eh schon via EnumWindows das passende Handle hat, kann man auch 
gleich direkt die MoveWindow oder SetWindowPos Funktion aufrufen. Spart 
die Rumbastelei mit den Nachrichten.

Innerhalb der Console reduziert sich das dann Dank "GetConsoleWindow" 
auf einen Zweizeiler.
1
#include <Windows.h>
2

3
int main()
4
{
5
    HWND w = GetConsoleWindow();
6
    SetWindowPos( w, HWND_TOP, 20, 20, 0, 0, SWP_NOSIZE | SWP_NOZORDER );
7
}

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 6 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.