p.....t
p.....t
#programowanie #cpp #windows

winPeep

Kod (pastebin): http://pastebin.com/Shp7eiEJ

Aplikacja (speedyshare): http://speedy.sh/mEVxn/winPeep.exe

Na pewno przydarzyło się wam kiedyś, że jakaś aplikacja otworzyła nowe okno, którego wysokość była większa od wysokości waszego pulpitu, a dodatkowo nie dało się zmienić rozmiaru tego okna. W konsekwencji jego część (najczęściej wraz z przyciskiem OK, który chcieliśmy kliknąć) znalazła się poza ekranem i w żaden sposób nie dało się okna przesunąć wyżej.

Taka sytuacja przydarzyła mi się wielokrotnie, dlatego w końcu napisałem prostą aplikację, która sprawdza, czy aktywne okno jest zbyt duże i przesuwa je w górę lub w dół w zależności od tego, gdzie znajduje się kursor myszy. Jeśli myszkę przesuniemy do góry, okno przesuwa się w dół, i na odwrót.

Aplikacja nie jest jeszcze dopracowana, ale podstawowa funkcjonalność jest zaimplementowana.

To co na pewno należy zmienić, to ignorowanie zmaksymalizowanych okien, bo takie są też traktowane jako zbyt duże.

EDIT: Całość napisałem za pomocą WinApi, aby wszystko było w jednym pliku i bez dodatkowych bibliotek.
  • Najlepsze
  • Wszystkie komentarze
PsichiX
@physicist: o ile nie poleci hejt za WinAPI, to wróżę plusy ( ͡° ͜ʖ ͡°)ノ⌐■-■
vipe
vipe
1
Pod KDE to dość fajnie rozwiązali (w KWin dokładniej), bo można dowolne okno załapać w dowolnym miejscu i przenieść - wystarczy trzymać wciśnięty klawisz Alt.

Niemniej jednak takie rozwiązanie też jest fajne.

@physicist: A co jeśli okno nie jest za duże, a po prostu jest tak przesunięte w dół, że przyciski są poza pulpitem - czy wtedy też bedzie przesuwało okno do góry?
CrossX
@vipe: W XFCE też. A spróbuj prawym przyciskiem myszy z altem :)
extern-int
@physicist: Gdy aplikacja jest aktywna: Alt+Spacja, wybierasz opcje "Przenieś", następnie wciskasz na klawiaturze strzałkę w górę lub w dół.
m.....t
m.....t
@physicist:

#include <windows.h>


Dawno nie widzialem :)
p.....n
p.....n
@physicist: ten .exe to 64 bity? Bo na Windows XP się nie uruchamia.
p.....t
p.....t
@vipe: Nie, tylko wtedy gdy okno jest za duże.

Czy ktoś jeszcze oprócz @pstjepan próbował to uruchomić na XP? Bo ja nie mam możliwości tego przetestować.
p.....t
p.....t
@extern-int: Wiem, że tak się da, ale w trakcie przesuwania klawiszami wystarczy tylko lekko ruszyć myszką i okno wraca tam gdzie było. Uważam, że po dopracowaniu moja aplikacja będzie wygodniejsza w użyciu.
extern-int
@physicist: U mnie (Windows 8) jak ruszam myszą, to okno chodzi razem z myszą. Aplikacji nie umniejszam, tym bardziej, że można ją teraz ulepszyć o dodatkowe, przydatne funkcje :)