Конференция "WinAPI" » цвет пикселя в чужом окне
 
  • tippa © (23.03.10 16:40) [0]
    Есть хэндл окна, окно может перекрываться другими. Как можно найти цвет нужного пикселя этого окна?
  • tippa © (23.03.10 17:43) [1]
    var H:hwnd;
       r,g,b:word;
       H1:HDC;
    begin
    H:=Findwindow(nil,'Безымянный - Блокнот');
    H1:=GetDC(H);
    r:=GetRValue(GetPixel(H1,100,100));
    g:=GetGValue(GetPixel(H1,100,100));
    b:=GetBValue(GetPixel(H1,100,100));
    showmessage('Blue-'+inttostr(r)+#10+
                      'Green-'+inttostr(g)+#10+
                      'Red-'+inttostr(b));
    ReleaseDC(H,H1);
    end;


    так работает только если окно не скрыто другими, можно попробовать вначале активировать нужное окно - но подождем, может кто что умное скажет.
  • DVM © (23.03.10 18:09) [2]
    в ОС < Vista нельзя получить часть изображения окна (а следовательно и точку) скрытого за другими окнами без показа.
  • Rouse_ © (24.03.10 01:09) [3]

    > DVM ©   (23.03.10 18:09) [2]

    Ну я бы не был столь категоричен, некоторые окна таки корректно обрабатывают WM_PRINT
  • Eraser © (24.03.10 02:09) [4]
    > некоторые

    ключевое слово.
  • oldman © (24.03.10 07:57) [5]

    > окно может перекрываться другими. Как можно найти цвет нужного
    > пикселя этого окна?


    Под "верхним" окном нет никаких пикселов.
 
Конференция "WinAPI" » цвет пикселя в чужом окне
Есть новые Нет новых   [134431   +16][b:0][p:0.001]