Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.20;
Скачать: CL | DM;

Вниз

Как скопировать изоброжение чужого окна.   Найти похожие ветки 

 
Pavia ©   (2004-12-28 23:18) [0]

Как скопировать изоброжение чужого окна? При условии что его перекрывпают другии окна, или вобще свернуто.


 
Shaman_Naydak   (2004-12-29 07:35) [1]

нормальные чужие окна должны отрабатывать
WM_PRINT и WM_PRINTCLIENT


 
MBo ©   (2004-12-29 07:42) [2]

статья о [1] есть на
www.fengyuan.com


 
VMcL ©   (2004-12-29 07:45) [3]

Как-то так, наверное:

function GetWindowShot(const Window: HWND): TBitmap;
var
 DC: HDC;
 R: TRect;
begin
 Result := TBitmap.Create;
 with Result do
   try
     PixelFormat := pf24bit;
     Transparent := False;
     DC := GetWindowDC(Window);
     try
       GetWindowRect(Window, R);
       Width := R.Right - R.Left;
       Height := R.Bottom - R.Top;
       BitBlt(Canvas.Handle, 0, 0, Width, Height, DC, 0, 0, SRCCOPY);
     finally
       ReleaseDC(Window, DC);
     end;
   except
     Free;
     raise;
   end;
end;


Замечание. Как видно из кода, за освобождение результирующего TBitmap"а отвечает вызывающая сторона.


 
DeadMeat ©   (2004-12-29 22:09) [4]


> [3] VMcL ©   (29.12.04 07:45)

Проверено... Не поможет. Нужно именно [1] или что-то в этом роде...

---
...Death Is Only The Begining...


 
Anton_K ©   (2004-12-29 22:17) [5]

Можно послать WM_PAINT, где в wParam DC нужного битмапа.


 
Thick   (2004-12-29 22:47) [6]

А ты не узадумывался что прорисовка окна происходит именно когда его нухно прорисовать????


 
Pavia ©   (2004-12-30 00:16) [7]

VMcL
Так я пробовал. Это мне не подходит.
Shaman_Naydak, MBo
Спасибо, это должно помочь.



Страницы: 1 вся ветка

Текущий архив: 2005.02.20;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.039 c
1-1106684239
Ser_max
2005-01-25 23:17
2005.02.20
Маска ввода


3-1106638613
Vitaliygavrilov
2005-01-25 10:36
2005.02.20
Количество данных в базе данных


14-1106956720
Vadim
2005-01-29 02:58
2005.02.20
Почему программистов считают странными людьми ?


3-1106228198
Ghost_
2005-01-20 16:36
2005.02.20
организация отчета


4-1104434734
leonidus
2004-12-30 22:25
2005.02.20
Как поставить хук на щелчек левой клавиши мыши?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский