[Windows 7] Taskbar position

K

Khalt

Gość
Witam;
Moje pytanie dotyczy pozycji taskbara w Windows 7 (Dziwne... zupełnie jak w tytule tematu xP). Jako, że na 7 nie znam się w ogóle, to proszę o pomoc w takiej kwesti:

Tak wygląda mój pulpit teraz:



Chcę aby było mniej więcej tak:

http://img683.imageshack.us/i/top2m.jpg/

Jest takie coś możliwe xD? (Dla mniej spostrzegawczych - chodzi o odwrócenie położenia paska zadań).
 

untam3d

Użytkownik
Dołączył
Październik 2, 2009
Posty
36
samemu mozesz napisac aplikacje ktora poprzesuwa wszystkie childy okna o klasie "Shell_TrayWnd", to okno ma dwa glowne childy:
- "TrayNotifyWnd" - obszar zegara i ikonek traya, innymi slowy - to co masz u siebie na dole,
- "ReBarWindow32" - cala reszta paska zadan czyli przycisk start, pasek "Szybkie Uruchamianie" i pasek aplikacji/zadan.

(tak to wyglada: http://img641.imageshack.us/i/beztytuuwg.jpg/)

I wszystko co bys potrzebowal to przesunac je podstawowymi funkcjami manipulacji oknami. (U mnie to wygladalo tak:
1(1112,0,168,60), 2(60,0,1052,60)-> 1(60,0,168,60), 2(228,0,1052,60)
gdzie: 1 - Tray, 2 - Rebar)
Z tymze jest haczyk. Po przesunieciu okienek, explorer w ciagu 10sekund przywracal ich pozycje, ale to pewnie dlatego iz po okienka nakladaly sie na siebie (ciut zle je wypozycjonowalem). Mysle ze jesli napiszesz program i on to odopwiednio w krotkim czasie ustawi to sukcesywnie oszuka explorera, a jesli nie - to zawsze modyfikacje taskabara mozna w petli while(1) wywolywac :)

Do wyszukiwania / modyfikowania / zabaw oknami polecam aplikacje WindowHack.
(do sciagniecia ze strony woodmanna )
 
K

Khalt

Gość
Hmm. Dzięki. A co z Buttonem WIN? xP
Bo "Shell_TrayWnd" obejmuje wszystko poza nim :p.

PS. Nie masz gdzieś tego WindowHack'a na dysku - mógłbyś na jakieś speedyshare'a albo cuś wbić, bo nie mogę tego nigdzie znaleźć (z woodmanna coś mi nie idzie ściągnięcie tego :D).

PS2. Nvm - "Button" w "Start".

Dzięki człowieku - jesteś wielki xP.

Edit (aka: PS)3. Ten buraczany button za cholere nie chce się dać przesunąć xD.
 
Ostatnia edycja:

untam3d

Użytkownik
Dołączył
Październik 2, 2009
Posty
36
Nie no nie gadaj ze znalezc nie mozesz, poza tym wspomnialem ze jest na woodmannie:
http://www.woodmann.com/collaborative/tools/images/Bin_Window_Hack_2008-3-8_22.48_WindowHack.rar

A teraz tak, o Buttonie "Start" nie wspominalem bo mialem nadzieje ze wpadniesz na to ze jego tez trzeba przesunac, a jego akurat "modyfikowac" jest banalnie prosto.
Na obrazku pokazalem ci wszystkie okna Childy (dzieci) okienka Shell_TrayWnd - czyli paska zadan, tam masz wszystko jak na dloni - nazwy klas (po tytulach ktore sa wewnatrz cudzyslowow, tj. HWND : WindowTitle : WindowClass ) oraz zaleznosci Okno-Child, ale nie wazne.

Program napisac Ci bedzie naprawde bardzo latwo, doslownie 20minut pisania dla niewprawionego programisty. Wszystko co potrzebujesz to pare wywolan funkcji SetWindowPos. Odnosnie Buttona - on jest poza Shell_TrayWnd - fakt, osobne okno - FindWindow( "Button", "Start"); powinno pomóc - i fakt - on jest zablokowany, choc szczerze nie wiedzialem o tym wczesniej.
Hmmm, WindowHack pokazuje mi ze jest to kontrolka z atrybutem ReadOnly
(WindowHack odczytuje ten atrybut na zasadzie:
if( GetWindowLong( hStartButton, GWL_STYLE ) & 0x800 )
0x800 traktowany tutaj jest jako ES_READONLY co odnosi sie do kontrolek typu "Edit", ale coz. Samo przestawienie tego bitu nic nie da (probowalem) i szczerze - skonczyly mi sie pomysly, zawsze mozesz uzyc inzynierii wstecznej programu explorer.exe,
znalezc miejsce tworzenia kontrolki CreateWindow("Button", "Start") i zmienic parametry okreslajace pozycje X i Y.
No niestety, tutaj konczy sie moja pomoc, nie mam pojecia jak ruszyc ten button z miejsca :/
Poszukaj na necie, napewno ktos znalazl rozwiazanie.
 
K

Khalt

Gość
WindowHack - cóż. Pomyślałem, że skoro ściąga te marne 34kB, to po prostu coś im się spieprzyło xD.
Tłumaczenia jak okienka przesunąć nie potrzebowałem, bo to sam potrafię zrobić - problem był tylko z buttonem i po wielu próbach ruszenia tego syfu doszedłem do wniosku, że łatwiej będzie się przyzwyczaić do jego pozycji u góry =_=.
 
Do góry Bottom