Auflösung bzw. Bildschirmhöhe global ändern
-
Hallo,
kennt jemand eine Möglichkeit die Bildschirmauflösung oder den Startpunkt x,y = 0,0 (linke obere Ecke) um eine definierte Anzahl von Pixeln zu verschieben.
Das Ziel ist so, dass wenn ich mein Programm (eine Art Taskleiste) starte, verdeckt es einen Teil der anderen Programme. diese sollen aber im maximierten Zustand nur bis unterhalb meinem Programm gehen.
Im Prinzip wie bei der Office Shortcut-Leiste. wird diese in den Vordergrund gestellt, wird die maximale Bildschirmgröße für alle Programme um diese Leiste verringert?!Danke für Tips
-
Das würde mich auch interessieren

-
SetWindowPlacement()
-
Wow danke, wusste, dass es so eine Funktion gibt

Doch das beantwortet die Frage noch nicht 100%. Wie schränkt man denn nun die Fläche der Fenster ein (bis auf das Eigene)?
Alle Fenster durchgehen und SetWindowPlacement aufrufen? (Gibt unschöne Nebeneffekte, wenn man ein neues Fenster öffnet).
SetWindowPlacement nur auf das Desktopfenster? (Wie kann man dann sein eigenes Fenster außerhalb davon [aber noch sichtbar] positionieren)?Grüße Rapha
-
Genau das suche ich?!
-
unwissend schrieb:
Genau das suche ich?!
Schau dir nocheinmal die deklaration von SetWindowPlacement
BOOL SetWindowPlacement( HWND hWnd, // handle to window CONST WINDOWPLACEMENT *lpwndpl // address of structure with position data );und den Beschreibungstext
MSDN schrieb:
The SetWindowPlacement function sets the show state and the restored, minimized, and maximized positions of the specified window.
genau an.
So, wie ich dich verstanden habe (und was auch ich suche), willst du eine Art Office Short-Cut Leiste erstellen. Mit dieser Funktion setzt du aber nur die Begrenzung nur für 1. Fenster.Grüße Rapha
-
Sorry, kleines Missverständniss!
Mit "Genau das suche ich?!" meinte ich deine Beschreibung:Wow danke, wusste, dass es so eine Funktion gibt
Doch das beantwortet die Frage noch nicht 100%. Wie schränkt man denn nun die Fläche der Fenster ein (bis auf das Eigene)?
Alle Fenster durchgehen und SetWindowPlacement aufrufen? (Gibt unschöne Nebeneffekte, wenn man ein neues Fenster öffnet).
SetWindowPlacement nur auf das Desktopfenster? (Wie kann man dann sein eigenes Fenster außerhalb davon [aber noch sichtbar] positionieren)?Nicht die Funktion SetWindowPlacement, denn die behebt das Problem ja nicht global sondern wie du bereits geschrieben hast nur lokal für das aufrufende Programm.
-
SystemParametersInfo mit SPI_SETWORKAREA
-
Genial, das ist ed!!!!!!!!111
-
Tausend Dank dEUs

genial, hänge ich mir gleich übers Bett

-
Hallo,
als nicht c++ler bin ich etwas überfordert mit SystemParametersInfo.
Wie kann ich den Befehl konkret absetzen? Kann mir da jemand ein Beispiel geben, wie es genau formuliert wird, daß der Desktop sich ändert?Kann mir auch jemand sagen, ob das ganze auch von Java aus abzusetzen ist? Das wäre fein, wenn das ginge.
Vielen Dank,
Juppi
-
Hallo,
einfach ein RECT festlegen mit den neuen Abmessungen des Desktops, und SystemParametersInfo aufrufen:
RECT r = {0, 0 , 768, 700}; SystemParametersInfo(SPI_SETWORKAREA, 0, &r, SPIF_SENDCHANGE);in JAVA geht das über JNI, dazu muß eine DLL erstellt werden, näheres dazu sicher im JAVA-Forum.
MfG