Показать сообщение отдельно

  #9  
Старый 01.02.2008, 00:05
cash$$$
Banned
Регистрация: 06.01.2008
Сообщений: 413
С нами: 9655526

Репутация: 1334
По умолчанию

Возникла необходимость сделать снимок активного окна. Есть код как принтскринить рабочий стол, пытался переделать, не прёт что то (рисунок белый). Например окно с названием "Autorun" активно.
Код:
var
bmp: TBitmap;
 DC: HDC;
h:hwnd;

begin
 bmp:=TBitmap.Create;

 bmp.Height:=Screen.Height;//задаю размер
 bmp.Width:=Screen.Width;
//GetForegroundWindow; //типа получить активное окно, наверно не нужно здесь
 DC:=GetDC(h);   //подставляю хэндл
 bitblt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,          //////////////
       DC, 0, 0, SRCCOPY);
 bmp.SaveToFile('Screen.bmp');

 ReleaseDC(0, DC);
end;
 
Ответить с цитированием