Napisałem program, który maluje widżet na tapetę pulpitu, pod ikonami pulpitu i wszystko było dobrze. Ale ujawniłem dziwny błąd - mój program nie działał na niektórych innych komputerach - wyświetla po jednym pulpicie ten sam pulpit bez widgetu po starcie.rysowanie pod ikonami na pulpicie
Czy ktoś ma jakieś doświadczenie, jakąś wiedzę w tej dziedzinie? Proszę pomóż mi! :)
(Nie mogę znaleźć żadnych komputerów w pobliżu, gdzie widget nie działa, na moim komputerze wszystko działa dobrze Napisałem wiele programów testowych, których próby rysują wszystko na pulpicie przy użyciu raczej metod, , ale test wyświetla nic też w moich znajomych komputerów)
metoda rysowania.
pisałem dll, która znajdzie okna pulpitu (progman-> idealny dla całych> dziecko)) i tworzy haczyk i zainstalować własną procedurę okna dla pulpit. W procedurze okna spinanie WM_ERASEBKGND:
case WM_ERASEBKGND:
HDC hdc = (HDC)wparam;
PaintDesktop(hdc);
WidgetPaint(hdc);
return 1;
// pominę w tym kodzie pobierania i ustawiania obszary obcinania do szybkiego rysunku. (Próbowałem wszystkie kombinacje z wycinek i bez przycinania)
I w testach próbuję również malować widżet w wiadomości WM_PAINT z tymi samymi wynikami - wszystko już działa u mnie, ale działa nie w ogóle moich znajomych.
upd: Rozwiązałem to! :)
Czy Twój kod działa w systemie Windows XP i * nie * działa w systemie Windows Vista lub Windows 7? – MusiGenesis
Tak, mój kod działa w XP i Windows Vista. Ale copmletely nie działa w systemie Windows 7. W Windows 7, przypuszczam, jego mechanizm ochrony. (Nie mogę nawet wyświetlić bibliotek DLL, które załadowano do procesu explorer.exe). – vsvasya
Z ciekawości, jaka była poprawka? – Brian