Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Копия содержимого активного окна в Image


Reaktor ©   (2007-05-24 17:47:00) 

Написал процедуру, которая должна копировать (как мне кажется) окно одного из запущенных приложений в Image. Однако она копирует только содержимое того, окна которое в данный момент поверх всех (или рабочий стол, если все окна свернуты). Подскажите где ошибка.

procedure TForm1.Button1Click(Sender: TObject);
var
 bmp: TBitmap;
 DC : HDC;
 Wnd : HWND;
begin
   wnd := GetWindow(Handle, gw_HWndFirst);
   Wnd := GetWindow(Wnd, gw_hWndNext);
   DC := GetDC(Wnd);

   bmp := TBitmap.Create;
   try
    bmp.Width := Image1.Width;
    bmp.Height := Image1.Height;
    BitBlt(bmp.Canvas.Handle, 0, 0, 57, 57, DC, 10 , 10, SRCCopy);
    Clipboard.Assign(bmp);
   finally
    ReleaseDC ( WND, DC );
    bmp.Free;
   end;
   Image1.Picture.LoadFromClipboardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_BitMap ),0);

end;


Reaktor   (2007-05-24 17:58:00) [1]

Которое будет определено GetWindow как next.


clickmaker   (2007-05-24 17:51:00) [2]


> окно одного из запущенных приложений

какого именно?


Наверх

Титульная страница Поиск, карта сайта Написать письмо