Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Rysowanie po innym oknie

Ostatnio zmodyfikowano 2011-05-25 19:56
Autor Wiadomość
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ź.
P-33377
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
P-33380
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:
C/C++
HWND hWndPasek = FindWindow( "Shell_TrayWnd", NULL );
A tu wyrysowanie:
C/C++
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 );
}
P-33381
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
P-33382
yoogi
Temat założony przez niniejszego użytkownika
» 2011-05-23 20:01:49
Po oknie od tej aplikacji wyrysować się wyrysuję.
P-33383
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
P-33384
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.
P-33385
Mrowqa
» 2011-05-24 08:05:06
<< removed by malan :P >>
P-33391
« 1 » 2 3
  Strona 1 z 3 Następna strona