
01.02.2008, 00:05
|
|
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;
|
|
|