yoogi Temat założony przez niniejszego użytkownika |
Rysowanie po innym oknie » 2011-05-23 18:53:25 Witam, chciał bym zacząć rysować np. po pasku zadać. Za pomocą funkcji "FindWindow" pobrałem uchwyt okna, z kolei po uchwycie uzyskałem kontekst urządzenia i tu pojawia się problem bo albo robie coś źle albo nie mam dostępu do rysowania po tym oknie.
Z góry dzięki za odpowiedź. |
|
Mrowqa |
» 2011-05-23 19:22:30 Akurat z rysowaniem to nie najlepszy jestem, ale wrzuć kod :P ( albo lepiej jego fragment ). Może coś wykombinuję ( albo kto inny :P co bym raczej obstawiał :D ). Pytanie na boku -> po co Ci coś takiego ?? Malware ? :P
Pozdrawiam, Mrowqa |
|
yoogi Temat założony przez niniejszego użytkownika |
» 2011-05-23 19:28:25 Hmmm... malware dawno mi się znudziło, ale przyznam że dlatego zacząłem się uczyć programowania. Tak pobrałem uchwyt do okna: HWND hWndPasek = FindWindow( "Shell_TrayWnd", NULL );
A tu wyrysowanie: if( msg == WM_PAINT ) { HDC hdcOkno = GetDC( hWndPasek ); PAINTSTRUCT ps; hdcOkno = BeginPaint( hWndPasek, & ps ); HBRUSH PedzelZiel, Pudelko; HPEN OlowekCzerw, Piornik; PedzelZiel = CreateSolidBrush( 0x00FF00 ); OlowekCzerw = CreatePen( PS_DOT, 1, 0x0000FF ); Pudelko =( HBRUSH ) SelectObject( hdcOkno, PedzelZiel ); Piornik =( HPEN ) SelectObject( hdcOkno, OlowekCzerw ); Rectangle( hdcOkno, 10, 10, 100, 100 ); SelectObject( hdcOkno, Pudelko ); SelectObject( hdcOkno, Piornik ); DeleteObject( OlowekCzerw ); DeleteObject( PedzelZiel ); ReleaseDC( hWndPasek, hdcOkno ); EndPaint( hWndPasek, & ps ); }
|
|
Mrowqa |
» 2011-05-23 19:58:32 Widzę, że przykładzik z kursu wklejony ;P Spróbuj na oknie, które wywołało coś pobazgrać tym kodem - powinno zadziałać :P Więc jeśli zadziała to albo nie można po tym malować albo masz zły uchwyt :P ( możliwe, że Menedżer ma jakiś inny kontrast czy co :P ). U siebie postaram się to zrobić, zaraz napiszę czy się udało :P
Pozdrawiam, Mrowqa |
|
yoogi Temat założony przez niniejszego użytkownika |
» 2011-05-23 20:01:49 Po oknie od tej aplikacji wyrysować się wyrysuję. |
|
Mrowqa |
» 2011-05-23 20:04:44 pytanie -> skąd ma Ci niby przyjść komunikat WM_PAINT ?? od Menedżera ?? Coś mi się zdaję, że on ciągle się odświeża ( przecież ciągle zmieniają się tam jakieś dane :P albo może on też dostaje WM_PAINT jak po nim malujesz ^^ ). Więc jeśli w tym rzecz musiałbyś bez przerwy po okienku malować :P ( i tak wątpię czy to coś by dało :P )
Pozdrawiam, Mrowqa |
|
yoogi Temat założony przez niniejszego użytkownika |
» 2011-05-23 20:08:54 Jednak po tym oknie chyba nie da się rysować. System na to nie pozwoli. |
|
Mrowqa |
» 2011-05-24 08:05:06 << removed by malan :P >> |
|
« 1 » 2 3 |