(trochę inne) rysowanie po pulpicie

0

Poszukuję sposobu na malowanie po pulpicie, ale po samym pulpicie (czyli jakby po tapecie), nie po okienkach, które są nad nim. Oczywiście sposobem na to jest pobranie uchwytu do pulpitowego listviewa, jednak sprawa się komplikuje kiedy skillowany jest explorer (a własnie w takich warunkach to ma działać). Zapewne trzeba zrobić po prostu okienko o określonych właściwościach. Tylko jakie właściwości powinno mieć okno, aby było pod wszystkimi innymi oknami oraz nigdy nie dało się zminimalizować?

// Dopisane
Próbuję blokować komunikaty docierające do okna. Ale może ktoś wie, co jest wysyłane do okna, kiedy jest minimalizowane przyciskiem "pokaz pulpit"? Bo na pewno nie WM_SYSCOMMAND.

// Dopisane
Faszczu: to niestety nie przejdzie. Żeby odświeżyć tapetę 1280x1024 na moim kompie potrzeba około 10 sekund. A to miałoby się przerysowywać co najmniej kilka razy na sekundę. No nic, spróbuję logować te komunikaty.

0

Spróbuj WM_SIZE chociaż nie jestem pewien.

0

przyjrzyj sie WM_WINDOWPOSCHANGING jest wysyłana przed zaczatkiem rusznania/zmiany rozmiaru/połozenia ogólnie wszelkich ruchów okna... co jeszcze... może WM_SIZE, WM_MOVE i może WM_POSCHANGED (ale to jest wysyłane post factum) ewentualnie.

0

Napisz sobie podstawowy programik w WinAPI i loguj do pliku wszystkie komunikaty jakie dochodza do okna. Pozniej analizuj (troszke tego bedzie). Po woli bedziesz mogl opuszczac poszczegolne komunikaty.

0

A moze rzeczywiscie pomaluj po tapecie?
Tzn. zobacz ktory plik jest tapeta, zrob jego kopie, pomaluj po nim i odswiez pulpit. Jak bedziesz wylanczal prog. to przywrocisz orginal z backup'u.

// A jak zostanie prog skilowany... to nici z przywracania. [mf]
Dopisane:
Fakt, ale kopia zawsze lezy wiec mozna jeszcze recznie przywrocic.

0

A może spróbuj wten sposób jak z rysowaniem w overlayu. Pobierz nazwe tapety i rysuj po pulpicie ustawiony \m na jednolitym tle, a bitmape wywietlał by twoj program. O overlayu było coś nawet w tym dziale kilka postów wcześniej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1